Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Replication send loop: copy-completion and hole-recording continuations run after the connection closed

Aperta Adatta ai principianti
#1,069 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub

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

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_txn and COPY_COMPLETE even if the connection closed during that await.
  • Hole recording (recordReplicationHole) after its await continues without checking wsClosed.

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

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di HarperFast/harper-pro

Tutte le issue di HarperFast/harper-pro

Issue simili

Altre issue su JavaScript

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.