JGroups 2.4 introduces FLUSH protocol that enables stop-the-world model for JGroups nodes. However, FLUSH protocol currently does not support coordination between nodes when it comes to concurrent requests for flush.
Problem 1)
If there are concurrent requests for flush (e.g. every node concurrently does channel.getState()) FLUSH should deterministically chose a winner flush request and other nodes should retry flush.
Problem 2)
If more than one MuxChannel sitting on top of JChannel requests flush then node has to again deterministically determine a winner request and other MuxChannels should retry.