HyperProcess::new documents a 30s callback timeout but waits 60s
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 2/5
- Tiempo estimado
- 1-3 horas
- Aptitud para principiantes
- 68/100
Línea de trabajo
Lee hyperdb-api/src/process.rs:226 y wait_for_callback en la línea 709; después, comprueba en CI el inicio lento de hyperd reportado. Decide si 30 o 60 segundos es el contrato previsto, alinea la documentación y la implementación, y considera un const documentado para que no puedan divergir; el trabajo estará terminado cuando el timeout público y la espera real coincidan.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Summary
HyperProcess::new's doc comment promises a 30-second timeout for Hyper's connect-back callback, but the implementation waits 60 seconds.
The documented contract:
/// - Hyper doesn't connect back within the timeout (30 seconds)
— hyperdb-api/src/process.rs:226
The actual wait, in wait_for_callback:
let timeout = Duration::from_secs(60);
— hyperdb-api/src/process.rs:709
Why it matters
A caller sizing their own timeout or retry budget against the documented 30 seconds will be surprised by a failure path that takes twice as long. It matters most on a slow or loaded host, which is exactly when the callback is slowest and when a caller is most likely to be relying on the documented bound.
The doc comment is the public contract, so this is a defect in one of the two — either the doc understates the wait, or the implementation waits longer than intended.
Fix direction
Decide which value is correct and make the other match:
- If 60 s is the intended behaviour, update the doc comment.
- If 30 s is intended, change the constant — but check CI first.
hyperdstartup has been observed taking "10+ seconds under load" on CI runners, so halving this bound could introduce flakiness on the slowest legs. That argues for correcting the documentation rather than the constant, but the value should be a deliberate choice rather than an accident.
Either way, consider naming it as a const with a doc comment so the two cannot drift again, and referencing that constant from HyperProcess::new's docs instead of restating the number in prose.
Provenance
Noticed incidentally while auditing hyperdb-api's process lifecycle for the shared-daemon design exploration (#293). Verified against main at 6cfe312.
- Lenguaje dominante
- Rust
- Estrellas
- 2
- Forks
- 2
- Merge medio
- 12 h 2 min
- PR fusionados (30 d)
- 60
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 tableau/hyper-api-rust
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
tableau/hyper-api-rust#311 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 45/100
tableau/hyper-api-rust#305 ·
-
Windows Named Pipe: verify DACL denies other users, and measure read-path perf for MCP workloads Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 38/100
tableau/hyper-api-rust#302 ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 72/100
tableau/hyper-api-rust#300 ·
-
Dificultad 4/5 3-5 días Aptitud para principiantes 55/100
tableau/hyper-api-rust#299 ·
Todos los issues de tableau/hyper-api-rust
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Eynzof/Hermes-CN-Desktop#610 ·
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
gitbutlerapp/gitbutler#15998 · 1 comentario ·
-
bug triage:deciding
Dificultad 1/5 Menos de una hora Aptitud para principiantes 88/100
open-telemetry/otel-arrow#4132 ·
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100