Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
In the before times (Feb 2020), we submitted this issue asking for feedback prior to submitting a PR:
#1608
In January of this year, some aspects of the fix were merged through #2109. We noticed, however, that a fix for a deadlock issue we found after about a year of running #1608 in heavy production did not make its way into #2109.
This was quite a while ago, so I do not recall the details of how exactly we recreated the issue but I definitely recall identifying hanging workers that printed "consumer/broker/%d accumulated %d new subscriptions" but not the expected subsequent logs. I also imagine that at the time I implemented this fix I tracked down the precise scenario where bc.wait would block and cause a deadlock... but I don't have this explanation at hand. Do with this PR what you will :)