akshaychitneni opened a new pull request, #2244:
URL: https://github.com/apache/datafusion-ballista/pull/2244

     
     Rationale
   
    The chaos harness (#2026) exercises Ballista's HA paths on a real 
multi-process cluster, but only as OS processes on one host. Several failure 
modes are k8s-specific — graceful SIGTERM/decommission, pod rescheduling, 
/readyz→Service gating, autoscaling — and can't be reached that way. This adds 
a Kubernetes backend so the same scenarios can run on a real kind cluster.
     
     What's included
   
     - K8sCluster backend (kubectl-driven): scheduler as a Deployment behind a 
ClusterIP Service, executors as a labelled Deployment; reaches the scheduler 
via kubectl port-forward.
     - One baseline scenario (tests/k8s.rs) asserting the cluster result 
matches local DataFusion — a full client → scheduler → executors → shuffle → 
result smoke test.
   
   
     Are there user-facing changes?
   
     No. Gated behind the k8s cargo feature + CHAOS_BACKEND=kind; the default 
cargo test and the process harness are unchanged.
   
     Key decisions
   
     - Executors as a Deployment, not bare pods — Ballista executors 
self-register with a fresh UUID and are fungible, so the Deployment model fits 
and enables scale/delete pod for kill scenarios.
     - Results via the scheduler's embedded flight proxy 
(advertise_flight_sql_endpoint) — the out-of-cluster client can't reach 
executor pod IPs; the proxy relays through the port-forwarded scheduler. 
Exposing executors directly was rejected: their advertised address is shared 
with in-cluster peers, so it can't be both pod-internal and
     host-reachable.
     - Gated + opt-in CI — separate job (paths + nightly), off the per-PR 
critical path, since the process harness already covers HA on every PR.
   
     Testing
   
     Baseline scenario passes end-to-end on a local kind cluster via 
dev/chaos-kind.sh; process harness and default build/clippy unaffected.
   
     Follow-ups
   
     Kill / graceful-decommission / total-loss (#2029) scenarios 
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to