hazelcast-nodejs-client
hazelcast-nodejs-client copied to clipboard
[TRACKING ISSUE] Refactor client connection manager to simplify [API-1298]
The tracking issue for the Java side PR.
See https://github.com/hazelcast/hazelcast/pull/20806 for details.
Most of the logic is turned into a single threaded one to be able reason about the logic easily. Important ones that is responsibility of the single thread
- Writing to and removing from activeConnections
- Checking if all connections are gone and initating new cluster
- Checking if cluster id has changed and initating failover if necessary.
We still connect to other members in parallel because we mainly want a fast start. We gave up on one thing. We no longer try to open connection to all members while trying to connection back to a cluster. This does not effect initial start since in the initial start, we had to wait for initial connection and member-list from it to be able to connect all members anyway.
Internal Jira issue: API-1298