PerChannelBookieClient Enhancement: Self-Recovery Support in Corrupte…
Motivation
In the context of popular protocols like LengthBasedFrame, which typically determine total message length based on the first 0-4 bytes (for example, if the initial bytes are 00000014, the message length is 1*16+4 = 20), message tampering can cause serious issues. Specifically, any modification to the higher order bytes can lead to miscalculation of message length and leave the communication end waiting indefinitely without any ability to self-recover.
In summary, in scenarios with message tampering, communication timeout can lead to an unrecoverable link. I think we can rebuild the client when timeout.
Changes
rebuild the PerChannelBookieClient when timeout.
@hangc0276 Yes, I'm still working on it.
Recently, I have no time to work on this, closed for now.