hazelcast / hazelcast/hazelcast-python-client

[TRACKING ISSUE] Refactor client connection manager to simplify

Aperta
#540 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Python
Stelle
116
Fork
78
Merge medio
10g 22h
PR unite (30g)
1

Descrizione

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.

Guida per i contributori

Apri la guida per i contributori

Direzione di ricerca

Inizia leggendo la pull request lato Java collegata, hazelcast/hazelcast#20806, poiché questa tracking issue non indica alcun file o test. Usa le relative modifiche e la discussione per comprendere le responsabilità del connection-manager a thread singolo, quindi verifica se il comportamento elencato relativo alle connessioni, al cluster-ID e al failover è coperto.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java, python
Ambito
distributed-systems
Tipo di issue
Refactoring
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Da chiarire
Idoneità per principianti
20/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.