colflow: fix recent misuse of two slices in the flow setup#56597
Merged
craig[bot] merged 1 commit intocockroachdb:masterfrom Nov 12, 2020
Merged
colflow: fix recent misuse of two slices in the flow setup#56597craig[bot] merged 1 commit intocockroachdb:masterfrom
craig[bot] merged 1 commit intocockroachdb:masterfrom
Conversation
We've recently added the reusing of metadataSourcesQueue and toClose slices in order to reduce some allocations. However, the components that are using those slices don't make a deep copy, and as a result, we introduced a bug in which we were breaking the current contract. This commit fixes the issue by going back to the old method (with slight difference in that we currently delay any allocations unlike previously when we allocated a slice with capacity of 1). Release note: None (no release with this bug)
Member
Member
Author
|
I noticed this while reviving #55909. There still is lurking some other issue due to reusing of the materializers which I don't quite understand yet, but I believe this PR fixes a true problem still. |
asubiotto
approved these changes
Nov 12, 2020
Contributor
asubiotto
left a comment
There was a problem hiding this comment.
The other option is to change components that drain to copy the slice that is passed in to them to make it really lazy, but this also
Reviewable status:
complete! 1 of 0 LGTMs obtained (waiting on @asubiotto)
Member
Author
|
I like the current approach more since it centralizes where the decision to copy or not is made. TFTR! bors r+ |
Contributor
|
This PR was included in a batch that was canceled, it will be automatically retried |
Contributor
|
Build succeeded: |
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.
We've recently added the reusing of metadataSourcesQueue and toClose
slices in order to reduce some allocations. However, the components that
are using those slices don't make a deep copy, and as a result, we
introduced a bug in which we were breaking the current contract. This
commit fixes the issue by going back to the old method (with slight
difference in that we currently delay any allocations unlike previously
when we allocated a slice with capacity of 1).
Release note: None (no release with this bug)