Copy batch points slice before modification #1389
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.
Fixes #1379
The idea of this change is to shallow copy the batch points slice so that nodes which modify the batch points slice do not collide.
The existing code already takes care to copy the maps before modification, but that didn't matter since the underlying slice was shared. This change copies the slice to prevent those issues.
This is horrible :), I really dislike how this came together and we need a better way to manage copying/modifying data. My hope is that the migration to message passing #1319 will open up a way to manage this better. There is simply too much onus on each implementation of a node to keep everything straight and not introduce new bugs.