Flaky: a_retry_waits_on_its_registration_and_another_backup_is_refused gets TableAlreadyExistsException

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

Los mantenedores suelen responder en 5 días

Nadie ha tomado este issue todavía.

Evaluación

Dificultad
2/5
Tiempo estimado
1-3 horas
Aptitud para principiantes
78/100
Tipo de issue
Error
Claridad
Bien especificado
Estado de actividad
Activo
Stack tecnológico
rust

Línea de trabajo

Empieza en crates/engine/src/backup/tests.rs, en backup::tests::a_retry_waits_on_its_registration_and_another_backup_is_refused; el issue señala el problema de temporización intermitente en torno a claim_restore_delay y la aserción cerca de la línea 19469. Sustituye el retraso fijo por una barrera controlada por la prueba que mantenga abierta la primera inscripción hasta que se envíe la segunda restauración. Ejecuta esta prueba y confirma que devuelve de forma consistente TableInUseException para la segunda restauración.

Escrito por el modelo de indexación a partir del texto del issue.

Descripción

ci:stability

backup::tests::a_retry_waits_on_its_registration_and_another_backup_is_refused in crates/engine/src/backup/tests.rs fails some CI runs with TableAlreadyExistsException("Table already exists: MusicRestored").

Runs that failed:

  • main at 89b94274e, run 42935162912, run-tests (stable), 2026-11-11 00:55 UTC. The panic is at tests.rs:19469, the assertion on the restore of the second backup. The Test runs of main at bf5ea8fc1 and 672d07c6e passed.
  • #900 at 91684d9e4, run 42950822755, run-tests (stable), 2026-11-11 03:13 UTC, with the same panic and message. run-tests (1.88.0) failed in the same run.

The test holds the first restore's registration for 400 ms (claim_restore_delay). It expects a restore of another backup into the same table name to answer TableInUseException while that registration is in flight. The failing runs answered TableAlreadyExistsException, the answer for a target that exists. That fits a second request that arrives after the first registration ended. The test then depends on the timing of the runner.

Proposed fix: hold the first registration until the test sends the second restore. A gate that the test opens can replace the fixed delay.

Lenguaje dominante
Rust
Estrellas
517
Forks
60
Merge medio
5 d 21 h
PR fusionados (30 d)
110

Preparar el entorno

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 ExtendDB/extenddb

Todos los issues de ExtendDB/extenddb

Issues similares

Más issues de Rust

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.