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

   # Which issue does this PR close?
   
   Backport of #2107 to `branch-54`. The issue it fixes is #2105.
   
   # Rationale for this change
   
   The executor process hangs indefinitely on ctrl+c instead of shutting down. 
Shutdown is signalled by dropping `notify_shutdown`, the `broadcast::Sender` 
that every component subscribes to, but cloned instances of that sender are 
still outstanding at that point, so dropping the one held by 
`start_executor_process` does not close the channel and the subscribers never 
observe the shutdown.
   
   # What changes are included in this PR?
   
   A clean cherry-pick of c77e4812, unmodified.
   
   Sends an explicit `notify_shutdown.send(())` before the drop, so subscribers 
receive the signal regardless of how many senders are still alive. One line in 
`ballista/executor/src/executor_process.rs`.
   
   # Are there any user-facing changes?
   
   The executor now exits on ctrl+c instead of hanging. No API, config, or wire 
format changes.
   
   ---
   
   Verified locally on the `branch-54` base: `cargo fmt --all -- --check` is 
clean, and `cargo check --workspace --all-targets --locked` completes with no 
warnings on a combined stack of the six backports being proposed together. Test 
execution is left to CI.
   


-- 
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