Test worker loss, expose Ballista retry settings and handle SIGTERM in scheduler and worker
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 35/100
- Tipo de issue
- Nueva funcionalidad
- Claridad
- Bien especificado
- Estado de actividad
- Activo
- Stack tecnológico
- rust
- Área
- distributed-systems, testing
Línea de trabajo
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.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
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.
- Lenguaje dominante
- Rust
- Estrellas
- 1
- Forks
- 2
- Merge medio
- 1 d 11 h
- PR fusionados (30 d)
- 7
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Leer la 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 vyncint/oxidelake
-
dependencies documentation
Dificultad 2/5 1-3 horas Aptitud para principiantes 25/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 4/5 3-5 días Aptitud para principiantes 57/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 38/100
Los mantenedores suelen responder en 1 día
-
Prepare the Ballista 55 / DataFusion 55 / arrow 59 chain bump ahead of the release that fixes thriftAbiertoenhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 32/100
vyncint/oxidelake#40 · 2 comentarios ·
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 5/5 Más de una semana Aptitud para principiantes 35/100
Los mantenedores suelen responder en 1 día
Todos los issues de vyncint/oxidelake
Issues similares
-
Published SDL drops input-field default values: a non-null field with a default renders as requiredAbierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
Los mantenedores suelen responder en 1 día
-
色変記事を追加Abiertopriority middle
Dificultad 1/5 Menos de una hora Aptitud para principiantes 62/100
KATO-Hiro/AtCoderClans#12955 ·
Los mantenedores suelen responder en 1 día
-
auto:doc-drift auto:producer
Dificultad 2/5 1-3 horas Aptitud para principiantes 60/100
fritzprix/libr-agent#2458 ·
Los mantenedores suelen responder en 1 día
-
Flaky test: terminal parity an_exited_shell_says_how reads status before the exit is seenPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
yantrikos/yantrik-os#1048 ·
Los mantenedores suelen responder en 1 día
-
rust
Dificultad 2/5 1-3 horas Aptitud para principiantes 80/100
vllm-project/vllm#64939 ·
Los mantenedores suelen responder en 1 día