Test worker loss, expose Ballista retry settings and handle SIGTERM in scheduler and worker
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Specificata chiaramente
- Stato di attività
- Attiva
- Stack tecnologico
- rust
- Ambito
- distributed-systems, testing
Direzione di ricerca
Start with crates/oxidelake-runtime/tests/cluster.rs:109-132 and tests/cli.rs:202-280 to see how the cluster tests launch queries, then read oxide_scheduler.rs and bin/oxide_worker.rs at the cited entry points. Check how Ballista 54 configures retries, worker shutdown and health reporting. Done means the Linux worker loss test, scheduler retry flags, signal handling and drain timeout are implemented and the documented or added health endpoint is verified.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Today — the cluster tests prove equality of results, not resilience. crates/oxidelake-runtime/tests/cluster.rs:109-132 starts an in-process scheduler + 2 executors and runs 4 queries; tests/cli.rs:202-280 spawns one scheduler + one worker. Neither kills an executor, restarts the scheduler or checks a failed task. SchedulerConfig::default() is spread with task_max_failures/stage_max_failures not surfaced (oxide_scheduler.rs has three flags: bind-host, port, cluster-backend). bin/oxide_worker.rs:283-301 and oxide_scheduler.rs:235-248 are #[tokio::main] bodies that .await Ballista and return: no signal handler, no drain, no readiness signal of OxideLake's own.
Why it is worth fixing — "what happens on worker loss" is whatever Ballista 54 does by default, and nothing in this repository proves it; roadmap Phase 5's "clean shutdown" is asserted only by the test process exiting.
Fix —
- An integration test that starts two
oxide-workerprocesses, kills one mid-query (a slow query over the 11 MiB fixture), and asserts the query completes with the same result or fails with a clear error naming the lost executor. --task-max-failures/--stage-max-failuresflags on the scheduler, passed intoSchedulerConfig.tokio::signalhandling forSIGTERM/SIGINTin both binaries: stop accepting tasks, wait for in-flight tasks up to a--drain-timeout, exit 0; document Ballista's REST/health endpoints or add/healthz.
Done when — the worker-loss test runs in the Linux lane; kill -TERM on a worker returns 0 within the drain timeout (tested); the flags appear in --help.
- Lingua principale
- Rust
- Stelle
- 1
- Fork
- 2
- Merge medio
- 1g 11h
- PR unite (30g)
- 7
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di vyncint/oxidelake
-
dependencies documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 25/100
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 4/5 3-5 giorni Idoneità per principianti 57/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 38/100
I maintainer di solito rispondono entro 1 giorno
-
Prepare the Ballista 55 / DataFusion 55 / arrow 59 chain bump ahead of the release that fixes thriftApertaenhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 32/100
vyncint/oxidelake#40 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
enhancement
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di vyncint/oxidelake
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
quarto-dev/q2#1005 ·
I maintainer di solito rispondono entro 1 giorno
-
[Request]: streamtopApertapackage-request
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
ScoopInstaller/Extras#19205 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
storytold/craft-libs#477 ·
I maintainer di solito rispondono entro 1 giorno
-
security
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
Waschndolos/open-clubmanager#185 ·
I maintainer di solito rispondono entro 1 giorno
-
r-bug
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
servo/rust-smallvec#844 ·
I maintainer di solito rispondono entro 1 giorno