-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Avoid deadlocks related to 0 receiver behavior (#10132)
* Prevent deadlocks related to 0 receiver behavior Signed-off-by: Matt Lord <[email protected]> * Update test tables to use poller_idx Signed-off-by: Matt Lord <[email protected]> * Minor changes after mutex usage review in message manager + cache Signed-off-by: Matt Lord <[email protected]> * Use atomics for receiver count and messages pending Signed-off-by: Matt Lord <[email protected]> * Don't take exclusive lock when in fast path Signed-off-by: Matt Lord <[email protected]> * Update tests to use the new recommended message table structure See: vitessio/website#1015 Signed-off-by: Matt Lord <[email protected]> * Correct tests Signed-off-by: Matt Lord <[email protected]> * Update e2e test to use new recommended table structure Signed-off-by: Matt Lord <[email protected]> * Fix TestMessageStreamingPlan test Signed-off-by: Matt Lord <[email protected]> * Fix godriver/TestStreamMessaging test Signed-off-by: Matt Lord <[email protected]> * Split streamMu into streamProcessingMu and lastPollPositionMu Signed-off-by: Matt Lord <[email protected]> * Poller cannot take main lock w/o having X stream processing lock Signed-off-by: Matt Lord <[email protected]> * Improve the comments a bit Signed-off-by: Matt Lord <[email protected]> * Hold the main mutex during Add This is for safe concurrency with the last receiver unsubscribing Signed-off-by: Matt Lord <[email protected]> * Changes after pair reviewing with Sugu Signed-off-by: Matt Lord <[email protected]> * Use my GitHub handle for the self reference Signed-off-by: Matt Lord <[email protected]>
- Loading branch information
Showing
6 changed files
with
208 additions
and
123 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.