HyperProcess::new documents a 30s callback timeout but waits 60s

Abierto Apto para principiantes
#294 0 comentarios 0 reacciones 0 asignados Ver en GitHub

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
68/100
Tipo de issue
Error
Claridad
Bastante claro
Estado de actividad
Activo
Stack tecnológico
rust
Área
api

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. hyperd startup 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

Abrir la guía de contribución

Primeros pasos

  1. Lee el issue completo y luego la guía de contribución del proyecto.
  2. Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
  3. Haz un fork del repositorio y trabaja en una rama.
  4. Abre un pull request que haga referencia al número del issue.

Más de tableau/hyper-api-rust

Todos los issues de tableau/hyper-api-rust

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.