A problem in connection closing.
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 35/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Ferma
- Stack tecnologico
- haskell
- Ambito
- distributed-systems, networking
Direzione di ricerca
Inizia tracciando la gestione dello stato di chiusura della connessione per la sequenza A/B descritta nell’issue, in particolare le transizioni che coinvolgono Closing, outgoing e incomings. Riproduci lo scenario di connessione e chiusura simultanee e verifica che la connessione pesante venga chiusa quando outgoing è zero e incomings è vuoto.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
* A send connect to B (lightid=1024)
A.next_lightid = 1025
A.outgoing = 1
* B send connect to A (lightid=1024)
B.next_lightid = 1025
B.outgoing = 1
* A send close connect to B
A.outgoing = 0
send CloseSocket to B (last_incoming=0)
enter Closing state
* B send close connect to A
B.outgoing = 0
send CloseSocket to A (last_incoming=0)
enter Closing state
* B got connect from A
recover from Closing state.
incomings.add(1024)
* B got close connect from A
incomings.remove(1024)
* A got connect from B
recover from Closing state.
incomings.add(1024)
* A got close connect from B
incomings.remove(1024)
In the end, both A and B's outgong==0 and incomings empty, but the heavyweight connection is not closed.
Maybe we should try CloseSocket again when we got close connection request, and find that outgoing==0 and incomings is empty?
- Lingua principale
- Haskell
- Stelle
- 753
- Fork
- 101
- Merge medio
- 1g 3h
- PR unite (30g)
- 4
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Nessun modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di haskell-distributed/distributed-process
-
enhancement Feature Request
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
haskell-distributed/distributed-process#486 · 1 commento · 1 reazione ·
-
discuss enhancement Feature Request
Difficoltà 5/5 Più di una settimana Idoneità per principianti 25/100
haskell-distributed/distributed-process#478 · 4 commenti · 3 reazioni ·
-
enhancement Feature Request
Difficoltà 5/5 Più di una settimana Idoneità per principianti 15/100
haskell-distributed/distributed-process#476 · 2 reazioni ·
-
Demonstrating the use of Cloud Haskell for a Raft implementationForse di nuovo libera @LaurentRDC l’ha presa 483 giorni fa e non c’è nessuna pull request aperta. Apertaenhancement Feature Request
haskell-distributed/distributed-process#475 · 3 reazioni · 1 assegnatario ·
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 20/100
haskell-distributed/distributed-process#473 · 4 commenti · 1 reazione ·
Tutte le issue di haskell-distributed/distributed-process
Issue simili
-
MorphRule, DataizeRule and ContextualizeRule silently accept unknown YAML keys, unlike rewrite `Rule`Forse già presa @renyamamoto2026-cmyk l’ha presa 1 giorno fa. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
objectionary/phino#2107 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 72/100
tweag/tricorder#640 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno