Skip to content

fix: [branch-54] send the shutdown notification before dropping the notifier (backport of #2107) - #2237

Merged
andygrove merged 1 commit into
apache:branch-54from
andygrove:fix/executor-shutdown-hang-branch-54
Aug 6, 2026
Merged

fix: [branch-54] send the shutdown notification before dropping the notifier (backport of #2107)#2237
andygrove merged 1 commit into
apache:branch-54from
andygrove:fix/executor-shutdown-hang-branch-54

Conversation

@andygrove

Copy link
Copy Markdown
Member

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 c77e481, 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.

@andygrove
andygrove marked this pull request as ready for review August 6, 2026 12:47
@andygrove
andygrove merged commit c2d3299 into apache:branch-54 Aug 6, 2026
17 checks passed
@andygrove
andygrove deleted the fix/executor-shutdown-hang-branch-54 branch August 6, 2026 13:53
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants