Hacktoberfest 2026: le issue che i maintainer hanno segnato per ottobre, aperte e adatte ai principianti. Sfoglia le issue Hacktoberfest

Windows-only flake: backfill_stubs_preexisting_tables_on_reopen fails on table-name assertion

Aperta
#268 1 commento 0 reazioni 0 assegnatari Vedi su GitHub

Nessuno ha ancora preso questa issue.

Valutazione

Difficoltà
4/5
Tempo stimato
3-5 giorni
Idoneità per principianti
45/100
Tipo di issue
Bug
Chiarezza
Abbastanza chiara
Stato di attività
Attiva
Stack tecnologico
rust
Ambito
databases

Direzione di ricerca

Start with hyperdb-mcp/tests/table_catalog_tests.rs at the backfill_stubs_preexisting_tables_on_reopen test and its table-name assertion. Trace the catalog reopen path to determine why alpha is missing on the Windows CI leg, then verify the root cause and that the test passes reliably without simply rerunning the failed job.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Descrizione

Summary

backfill_stubs_preexisting_tables_on_reopen failed on the test (windows-latest) leg during CI for #267, a PR whose diff touches only hyperdb-mcp/tests/daemon_tests.rs.

hyperdb-mcp\tests\table_catalog_tests.rs:429:5
assertion failed: names.contains(&"alpha".to_string())
test backfill_stubs_preexisting_tables_on_reopen ... FAILED
test result: FAILED. 21 passed; 1 failed

Why this is not #267

  • #267 modifies one file, daemon_tests.rs, and this failure is in table_catalog_tests.rs.
  • Both tests #267 modifies passed on that same Windows leg (daemon_idle_timeout_shuts_down_daemon ... ok, daemon_heartbeat_prevents_idle_shutdown ... ok; that binary reported 52 passed; 0 failed).
  • The assertion is about table names present after a catalog reopen and has no timing content.

Platform

Windows-only so far. The same test (windows-latest) leg passed on the v1.0.0-rc.2 release commit c9bacf2 (job 101457433522), so this is intermittent rather than a persistent break on that commit.

Please root-cause rather than re-run

Two cautions from recent experience in this area.

The failure record is perishable. Re-running a failed job rewrites the run conclusion, so the evidence of this failure disappears and historical flake counts become a lower bound. This was demonstrated live: an earlier run containing a real failure now reads success after a re-run.

Two "flakes" in this repo recently turned out to be real defects, not timing. slow_health_watchdog_reaps_hyperd_after_child_timeout was caused by validate_hyperd_process identifying the engine with ps -p <pid> -o comm=, which on Linux reads the main thread name — and hyperd renames its main thread to hyperdMain, so the guard rejected the very process it existed to reap (200/200 on Linux). And daemon_idle_timeout_shuts_down_daemon (#267) was a measurement-reference bug, where the test captured its Instant::now() after DaemonState::new() had already started the idle countdown. In both cases the obvious timing explanation was wrong.

So a backfill/reopen assertion failing on one platform is worth reading as a possible ordering or persistence bug in the catalog-reopen path before being written off as flaky.

Lingua principale
Rust
Stelle
2
Fork
2
Merge medio
12h 2m
PR unite (30g)
60

Guida per i contributori

Apri la guida per i contributori

Come iniziare

  1. Leggi tutta la issue e poi la guida ai contributi del progetto.
  2. Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
  3. Fai un fork del repository e lavora su un branch.
  4. Apri una pull request che faccia riferimento al numero della issue.

Altre issue di tableau/hyper-api-rust

Tutte le issue di tableau/hyper-api-rust

Issue simili

Altre issue su Rust

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.