You're not losing those messages, as it is not the transport but either UNICAST or NAKACK which will resend a message until it has been delivered.
Mailing lists for JGroups are at
But we are using TCP.
Shouldn't that do what UNICAST would do?
As I understand it, BasicConnectionTable is in the layer called "BuildingBlocks". UNICAST and NACKACK are in lower layers. How can a lower layer help things gone wrong in a higher layer?
No, the connection table is in the transport layer (TCP) and as such doesn't have to be concerned about retransmission or failed members.
So, the failure detection layer (FD) will at one point kick in and remove the rebooted node from the cluster. Until this happens, TCP will happily continue trying to send packets to that node, and that's what you might be seeing.
Our code is very simple, and as such we have no concept of cluster.
We basically have a "Channel" upon which we call "send(Message msg)".
When the method returns we don't know whether the transmission went through or not. Therefore if the socket is closed, the message is lost.