looking at the code and at test that still fails in the distribution packages, it looks like these parts are still missing:
* multiple cluster connections (OnewayTwoNodeClusterTest.testMultipleClusterConnections)
* related to this, I don't understand the comment in ClusterManagerImpl.announceNode() about working with more than one cluster connection.
I assume that a node can still have multiple cluster connections and belongs to different separate clusters, i.e. the test is valid and the code does
* I have failing tests with symmetric cluster test with backups which triggers failover (when they should not, I need to investigate)
* OneWayTwoNodeCluster.testRouteWhenNoConsumersTrueNonBalancedQueues fails with messages out of order
* in ClusteredGroupingTest, testGroupingSendTo3queuesPinnedNodeGoesDownSendBeforeStop and testGroupingSendTo3queuesPinnedNodeGoesDownSendAfterRestart fail
I do not understand the comment in the code that was handed over in ClusterConnectionImpl.nodeUp():
// // New live node - close it and recreate it - TODO - CAN THIS EVER HAPPEN?
What's supposed to be compared here?
I suppose we want to check that connector of the existing node is the same thant the one coming from the notification.
This could happen in the discovery case since we will received a UP notifications from all the other nodes in the cluster. In that case, we create it the first time and do nothing after that.
Other remaining tasks that needs to be done:
* proper lifecycle for session factories used by cluster connections. In ServerLocator.connect(), we call createSessionFactory(config) to be able to connect to other nodes in the initial list of connectors but the factory is never closed. Ditto in ClusterConnectionBridge.connectionFailed()
Another task that will take some time: rewrite the HA chapter in the cluster doc + description of the new schema for cluster-connection