-
Notifications
You must be signed in to change notification settings - Fork 3.6k
Add SourcePage interface for delayed materialization of ConnectorSourceData #24011
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Changes from all commits
Commits
Show all changes
19 commits
Select commit
Hold shift + click to select a range
51e392d
Move Iceberg reader early exit checks to start of method
dain 70b6801
Replace process bytes lazy load monitor with state monitor in SFP
dain 99c022c
Add SourcePage interface for ConnectorPageSource
dain 2f3784f
Convert non-object store connectors to SourcePage
dain 7c1691b
Convert ORC and Parquet to SourcePage
dain fb9f6fb
Simplify Hive and Iceberg projectSufficientColumns
dain 0727507
Add TransformConnectorPageSource to Hive
dain 943ff01
Convert Iceberg to SourePage and TransformConnectorPageSource
dain bb8a8a4
Move constants and static classes out of HivePageSource
dain 21f063d
Change Delta CheckpointEntryIterator ADD to use existing base column
dain 68409c1
Handle column dereference directly in Hive ParquetPageSourceFactory
dain ceedfe4
Cleanup Hive OrcPageSourceFactory
dain 4e1311e
Handle column dereference directly in Hive OrcPageSourceFactory
dain 6215763
Convert Hive AvroPageSourceFactory to projectColumnDereferences
dain 5265644
Convert Hive LinePageSourceFactory to projectColumnDereferences
dain c59a4a9
Convert Hive RcFilePageSourceFactory to projectColumnDereferences
dain d08a6b8
Remove unused Hive ReaderColumns and ReaderPageSource
dain cc61b26
Convert Hive, Hudi, and Delta to SourcePage and TransformCPS
dain 93a364f
Mark ConnectorPageSource.getNextPage() deprecated for removal
dain File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
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
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
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
43 changes: 0 additions & 43 deletions
43
core/trino-main/src/main/java/io/trino/operator/PageUtils.java
This file was deleted.
Oops, something went wrong.
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
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
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
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
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
Oops, something went wrong.
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.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when the new page is smaller than the one before the
updatethe value of processedBytesConsumer will be decreased and even get to 0 when all rows were deleted. Does that make sense or we should use something like Math.abs(newProcessedBytes - localProcessedBytes)There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
@shlomi-alfasi I don't follow.
page.getSizeInBytes()is a value that should only increase in size. It represents the loaded size of the page, and you can't "unload" data from a page.processedBytesConsumeris an accumulator so we need deltas. If there a buggy page that reduces the value, I don't want to try to mask that over here because it could end up with an ever increasing value (think of the sequence 100, 0, 100, 0...)