Replication send loop: copy-completion and hole-recording continuations run after the connection closed
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 76/100
- Tipo di issue
- Bug
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- node.js, typescript
- Ambito
- backend, distributed-systems
Direzione di ricerca
Inizia da replication/replicationConnection.ts e segui le continuazioni di copia di base e registrazione dei buchi descritte nell’issue. Controlla lo stato di chiusura della connessione dopo ogni passaggio atteso in questi percorsi. Il lavoro è completato quando entrambe le continuazioni restituiscono in anticipo dopo la chiusura e non inviano più messaggi di completamento né registrano buchi per una connessione chiusa.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Follow-up from review of Recover a replication leg wedged at connected:true with no receive progress (harper-pro#815). The code in question is unchanged by that PR.
Problem
Two continuations in the send path in replication/replicationConnection.ts act after an await without re-checking that the connection is still open:
- After the final awaited step of a base copy, the code still sends
end_txnandCOPY_COMPLETEeven if the connection closed during that await. - Hole recording (
recordReplicationHole) after its await continues without checkingwsClosed.
Consequence: writes to a closed socket (logged noise, possibly a thrown error in a detached chain) and hole records or copy-completion state attributed to a connection that is already gone. No data loss was observed.
Suggested direction
Re-check wsClosed (or the subscription's closed flag) after each await in those two paths and return early.
Review-Deferral: b41e9e9f64c2beb6 severity=minor category=reliability
- Lingua principale
- JavaScript
- Stelle
- 3
- Fork
- 0
- Merge medio
- 1g 9h
- PR unite (30g)
- 120
Preparare l'ambiente
- Include un Dockerfile o un 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 HarperFast/harper-pro
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 67/100
HarperFast/harper-pro#1099 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 84/100
HarperFast/harper-pro#927 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
HarperFast/harper-pro#926 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
HarperFast/harper-pro#889 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
HarperFast/harper-pro#728 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di HarperFast/harper-pro
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
AOSSIE-Org/BabyNest#268 ·
I maintainer di solito rispondono entro 1 giorno
-
Add: DG:TVApertachannels:add check:passed
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
-
[Bug Report][3.13.7] VDataTable with select-strategy="single" shows select-all checkbox in mobile modeForse già presa @lazerg l’ha presa oggi. ApertaS: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
-
[External Plugin]: CarboneApertaexternal-plugin ready-for-review third party
Difficoltà 2/5 1-3 ore Idoneità per principianti 63/100
github/awesome-copilot#5259 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno