Repository navigation
fix: count shared buffers once in reverse row group reservation - #27366
Open
vinycalves wants to merge 1 commit into
Open
vinycalves wants to merge 1 commit into
vinycalves wants to merge 1 commit into
Conversation
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.
Closes #27254. The reverse row group reservation charged each decoded batch's get_array_memory_size, so buffers shared across batches were counted once per batch. This switches the reservation to RecordBatchMemoryTracker, counting a batch when it is retained and uncounting it when it is dropped or popped, and keeps the tracker in sync when a row limit slices a batch. The new tests push cloned batches that share every buffer and check that the pool is charged once and released to zero; the existing exact reverse scan tests still pass, and clippy is clean.