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?
We encountered
concurrent map writes
runtime errors on the pool package. This solution should address this error and provide with a safe way to access these data structures. Since they are not exported and thesync.Map
works withinterface{}
, a type assertion is needed, making it hard to refactor this code since generics are non-existant in go (at the moment of this writing), and reflection will definitely under perform on this package, which is sort of a bottleneck.closes #908
ping @butonic @individual-it