Revisit DKG timeout strategy and add test coverage
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 48/100
- Tipo de issue
- Error
- Claridad
- Bastante claro
- Estado de actividad
- Tranquilo
- Stack tecnológico
- rust
Línea de trabajo
Empieza rastreando el manejo general de --timeout de la ejecución de DKG y el timeout de parsigex por intercambio, incluida la ruta DkgError::Timeout. Añade cobertura para un peer bloqueado o ausente y para una ejecución saludable con muchos validadores. Se considera terminado cuando ambas rutas son fiables y los presupuestos de timeout son coherentes sin abortos falsos.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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).
- Lenguaje dominante
- Rust
- Estrellas
- 8
- Forks
- 5
- Merge medio
- 4 d 18 h
- PR fusionados (30 d)
- 4
Preparar el entorno
- Incluye un Dockerfile o un archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de NethermindEth/pluto
-
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
NethermindEth/pluto#719 ·
-
enhancement rust
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
NethermindEth/pluto#640 ·
-
rust
Dificultad 5/5 Más de una semana Aptitud para principiantes 45/100
NethermindEth/pluto#638 · 1 comentario ·
-
enhancement rust
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
NethermindEth/pluto#635 ·
-
Improve `alpha test peers`: match Charon's probes; reduce timeoutsPosiblemente ocupada @varex83agent la tomó hace 24 días. Abiertobug track:orchestration-cli
Dificultad 5/5 Más de una semana Aptitud para principiantes 28/100
NethermindEth/pluto#632 ·
Todos los issues de NethermindEth/pluto
Issues similares
-
api bug entity mobai
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Pumpkin-MC/Pumpkin#4312 ·
Los mantenedores suelen responder en 1 día
-
bug easy good first issue
Dificultad 2/5 1-3 horas Aptitud para principiantes 85/100
lacs-project/sysknife#659 ·
Los mantenedores suelen responder en 2 días
-
E_FIT_INPUT_MISSING (mixture overrides): the message says ferx-r bundles lack mixture_overridesAbiertoP3
Dificultad 1/5 Menos de una hora Aptitud para principiantes 83/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
-
Document multi-value claims with rowBoundaries operator:in (and their per-record application)Abiertodocumentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
registrystack/registry-stack#2431 ·
Los mantenedores suelen responder en 1 día