Replace tag map with thread safe sync.map #212
Merged
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.
What does this do?
This PR replaces that
uniqueTag
map with the sync.Map struct which allows safe concurrent operations against the map. Before this, scheduled jobs that executed on the same schedule were prone to causing a "concurrent map" panic.Have you included tests for your changes?
Tests have been updated to properly use the sync.map.
Notes
This change should produce a no-op, just fixes the potential panic from jobs scheduled at the same time that require
uniqueTags
.