-
Bug
-
Resolution: Done
-
Major
-
2.4.1
-
None
During refactoring of TUNNEL to use TP I ran MultiplexerMergeTest very often. This test basically consists of two members A and B that are exchanging message through GossipRouter. When GossipRouter is killed members form their own subgroups that are subsequently merged once router starts again.
I noticed that on very rare occasions (1 in 20 test runs) one of the members (say A) stops passing up unicast messages from B above UNICAST protocol. More detailed logging and inquiry at UNICAST revealed that upon merge A stops passing up messages from B and keeps adding messages from B seq>1 into B's window but does not pass up messages further since message seq B1 is missing. After further investigation I concluded that message B1 must have been delivered to A prior to MergeView. MergeView wiped clean all windows and added next sequence B2 to appropriate window.
I am not sure if this is only applicable to Multiplexer setup. The issue is hard to reproduce. I will see if it is possible to make a unit test to reproduce it.