ashokkumarrathore commented on PR #462: URL: https://github.com/apache/livy/pull/462#issuecomment-4751685891
Pushed an update that folds in five additional Kubernetes/session fixes that were developed on top of this branch (authored by @vallenki). All are rebased onto current `master`, compile cleanly against kubernetes-client 6.8.1, pass scalastyle/checkstyle, and have unit tests: 1. **Livy Interactive session fixes** — adds `livy.rsc.driver.address.use-hostname` (RSCConf) so the driver's reported hostname is used instead of the socket IP, which is needed for Kubernetes + Istio setups. 2. **Reduce Kubernetes API load in polling** — narrows the driver lookup to `spark-role=driver` at the API server (single-pod LIST instead of all executor pods) and gates the executor LIST behind a new flag `livy.server.kubernetes.executor-tracking.enabled` (default `true`, so no behavior change). Large clusters can disable it to skip per-executor LISTs. 3. **SessionManager refresh + `/recovery` operator endpoint** — a superuser-guarded (`livy.superusers`, returns 403 otherwise) REST endpoint to re-scan the recovery state store and import sessions written by another Livy server, without a restart. 4. **Fix recovery-file leak after session deletion** — `kill()` now removes the app from the shared monitor queue and the monitor early-returns after a terminal state, so a deleted session's recovery file is no longer resurrected by an in-flight monitor tick. `killed` becomes `AtomicBoolean` for cross-thread visibility. 5. **Fix `Promise.failure` race that falsely failed healthy apps** — switches the catch path to `Promise.tryFailure`, matching the `trySuccess` on the success path, so a late failure on an already-completed promise is dropped instead of flipping a healthy app to FAILED. This became reachable once `app-lookup.thread-pool.size > 1`. Combined diff is ~545 insertions across 16 files. Happy to split any of these into separate PRs if you'd prefer to keep this one scoped purely to multi-namespace support — just let me know. -- 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]
