Revisit DKG timeout strategy and add test coverage
I maintainer di solito rispondono entro 4 giorni
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Idoneità per principianti
- 48/100
- Tipo di issue
- Bug
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- rust
- Ambito
- blockchain, distributed-systems
Direzione di ricerca
Inizia tracciando la gestione complessiva di --timeout dell’esecuzione DKG e il timeout di parsigex per scambio, incluso il percorso DkgError::Timeout. Aggiungi la copertura per un peer bloccato o assente e per un’esecuzione sana con molti validatori. Il lavoro è completato quando entrambi i percorsi sono affidabili e i budget di timeout sono coerenti senza interruzioni errate.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Description
The DKG timeout works differently from Charon. Charon splits the timeout per phase (conf.Timeout / 6); Pluto uses one overall timeout for the whole run, because our sync service runs across all phases and can't be cut per-phase (we tried — it killed healthy runs).
Two gaps come from this. A stuck peer is only caught after the full timeout (~60s) instead of one phase (~10s). And with many validators (untested) a healthy run takes longer and could hit the timeout and be killed by mistake — made worse by parsigex already using the full conf.timeout per exchange.
Works today: stuck peer aborts cleanly, and a small healthy cluster finishes fine. Not covered: many-validator runs, and there's no automated test for the timeout.
Benefit (The "Why")
A DKG should never hang forever on a stuck peer, but it also must never kill a healthy ceremony by mistake. Closing these gaps makes the timeout reliable for real clusters (many validators), gives faster failure detection, and protects it with an automated test.
Acceptance Criteria
- A healthy DKG with many validators completes without a false timeout under the default
--timeout. - The relationship between the overall timeout and the per-exchange
parsigextimeout is consistent (one budget is not silently exceeded by the other). - A stuck/absent peer still aborts cleanly with
DkgError::Timeout. - An automated test covers the overall timeout (stuck peer aborts) and the healthy path (no false timeout).
- Lingua principale
- Rust
- Stelle
- 8
- Fork
- 6
- Merge medio
- 4g 20h
- PR unite (30g)
- 21
Preparare l'ambiente
- Include un Dockerfile o un file Docker Compose
- Ha un 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 NethermindEth/pluto
-
Difficoltà 4/5 3-5 giorni Idoneità per principianti 52/100
NethermindEth/pluto#719 ·
I maintainer di solito rispondono entro 4 giorni
-
feat(eth2api): wire --beacon-node-headers into the beacon node clientForse già presa @varex83agent l’ha presa 6 giorni fa. Apertaenhancement
Difficoltà 4/5 3-5 giorni Idoneità per principianti 48/100
NethermindEth/pluto#709 · 1 assegnatario ·
I maintainer di solito rispondono entro 4 giorni
-
Global `EnvFilter` prevents topic spans from being constructed at the default log levelForse già presa @arunimshukla l’ha presa 11 giorni fa. Apertabug rust
Difficoltà 4/5 3-5 giorni Idoneità per principianti 68/100
NethermindEth/pluto#708 ·
I maintainer di solito rispondono entro 4 giorni
-
enhancement rust
Difficoltà 4/5 3-5 giorni Idoneità per principianti 45/100
NethermindEth/pluto#640 ·
I maintainer di solito rispondono entro 4 giorni
-
rust
Difficoltà 5/5 Più di una settimana Idoneità per principianti 45/100
NethermindEth/pluto#638 · 1 commento ·
I maintainer di solito rispondono entro 4 giorni
Tutte le issue di NethermindEth/pluto
Issue simili
-
review-drift
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
oxidecomputer/hansei#14 ·
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 76/100
rubys/roundhouse#444 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
install: root SSH tmpfiles.d drop-in is labeled etc_runtime_t instead of etc_tForse già presa @andrewdunndev l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
I maintainer di solito rispondono entro 1 giorno