-
Task
-
Resolution: Done
-
Critical
-
None
-
None
TCP (as in TCP/IP, not the JGroups protocol) ensures the messages from a given sender are received in order. Pre-concurrent stack releases of JGroups counted on this to ensure ordered delivery of messages to Channel.receive(). This worked fine because a single thread carried messages from the transport to receive(). But with a concurrent stack, there is a pool of threads taking messages from the transport and delivering them to receive(). This introduces the possibility of out-of-order messages at receive().
Need to add UNICAST to the TCP-based stacks to impose ordering.