zhuxiangyi commented on PR #18312: URL: https://github.com/apache/dolphinscheduler/pull/18312#issuecomment-4743989464
@SbloodyS Thanks for the review. I agree the kill-result classification (and how to surface it in the UI) deserves its own discussion, so I've narrowed this PR to a minimal, behavior-preserving fix and dropped the user-visible parts. What remains is purely a false-negative in liveness detection: AbstractShell throws ExitCodeException whenever stderr is non-empty even if the exit code is 0 (e.g. the tenant login shell printing HISTSIZE: readonly variable warnings). Because isProcessAlive treated any exception as "not alive", the still-alive children were misclassified as terminated and the kill signal was never actually sent — hence All processes already terminated while ps showed the tree alive. The fix is one branch: kill -0 raising ExitCodeException with exit code 0 ⇒ alive. No change to kill semantics, no new user-visible state. I've removed the NO_PERMISSION / return false for the root-owned sudo parent — that part touches kill-result semantics and I'll raise it separately. In #18311 it isn't needed anyway: once the tenant-owned children are killed, the sudo parent exits on its own. -- 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]
