-
-
Notifications
You must be signed in to change notification settings - Fork 232
Closed
Description
Problem Description
When timeoutSec is set on a DAG step, processes that exceed the timeout should be forcibly terminated. However, on Windows, some processes would continue running for hours even when timeoutSec was set (e.g., to 900 seconds).
Root Cause
The issue had two components:
-
Blocking cmd.Wait(): The commandExecutor.Run() method blocked indefinitely on cmd.Wait() without listening to context cancellation. When the timeout expired, the process would not be killed because the code was stuck waiting for Wait() to return.
-
Incomplete process termination on Windows: The Windows KillProcessGroup() function only killed the immediate process, leaving child processes (subprocess tree) orphaned and running.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels