Conversation
While doing a little work on #1235, my LLM flagged that the way that we're accessing `producersByQueueName` today is already a little unsafe as it may be read in multiple places concurrently. There's a mutex to protect it somewhat in the `QueueBundle`, but it may still race between a change there a "notify producer" send. Here, add one additional `RWMutex` that makes sure to synchronize read access on the map.
510d65b to
d7c6bd8
Compare
bgentry
approved these changes
May 1, 2026
Contributor
bgentry
left a comment
There was a problem hiding this comment.
ah, yeah map this was originally not being mutated outside initialization but that changed with the ability to add a new queue dynamically at runtime. Clearly we missed the concurrency safety around this! 🤖
Contributor
Author
|
ty! |
This file contains hidden or 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
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
While doing a little work on #1235, my LLM flagged that the way that
we're accessing
producersByQueueNametoday is already a little unsafeas it may be read in multiple places concurrently. There's a mutex to
protect it somewhat in the
QueueBundle, but it may still race betweena change there a "notify producer" send.
Here, add one additional
RWMutexthat makes sure to synchronize readaccess on the map.