Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Backport PR #16671 to 8.15: PipelineBusV2 deadlock proofing #16681

Merged
merged 1 commit into from
Nov 18, 2024

Commits on Nov 18, 2024

  1. PipelineBusV2 deadlock proofing (#16671)

    * pipeline bus: add deadlock test for unlisten/unregisterSender
    
    * pipeline bus: eliminate deadlock
    
    Moves the sync-to-notify out of the `AddressStateMapping#mutate`'s effective
    synchronous block to eliminate a race condition where unlistening to an address
    and unregistering a sender could deadlock.
    
    It is safe to notify an AddressState's attached input without exclusive access
    to the AddressState, because notifying an input that has since been disconnected
    is net zero harm.
    
    (cherry picked from commit 8af6343)
    yaauie authored and logstashmachine committed Nov 18, 2024
    Configuration menu
    Copy the full SHA
    4851576 View commit details
    Browse the repository at this point in the history