hazelcast / hazelcast/hazelcast-cpp-client

[TRACKING ISSUE] Refactor client connection manager to simplify

Open
#961 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
C++
Stars
91
Forks
54
Avg merge
1d 12m
Merged PRs (30d)
5

Description

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.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.