-
Notifications
You must be signed in to change notification settings - Fork 5.4k
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
Support fragment result caching #15155
Conversation
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.
both Driver & LocalExecutionPlanner look clean
presto-main/src/main/java/com/facebook/presto/operator/Driver.java
Outdated
Show resolved
Hide resolved
803fa1b
to
85bb0de
Compare
presto-main/src/main/java/com/facebook/presto/operator/Driver.java
Outdated
Show resolved
Hide resolved
1ee7806
to
001db72
Compare
22c01b6
to
a421eb9
Compare
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.
"Introduce CanonicalPlanGenerator": one comment
presto-hive/src/main/java/com/facebook/presto/hive/HiveTableLayoutHandle.java
Show resolved
Hide resolved
presto-main/src/main/java/com/facebook/presto/sql/planner/CanonicalPartitioningScheme.java
Show resolved
Hide resolved
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.
"Introduce split identifier" LGTM
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.
"Introduce fragment result cache manager": minor comments
presto-main/src/main/java/com/facebook/presto/operator/CacheStats.java
Outdated
Show resolved
Hide resolved
presto-main/src/main/java/com/facebook/presto/operator/FileFragmentResultCacheManager.java
Outdated
Show resolved
Hide resolved
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.
"Use static import and lambda in TestDriver": LGTM
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.
"Support fragment result caching": overall logic looks good to me. Question on missing aggregation support
presto-main/src/main/java/com/facebook/presto/execution/FragmentResultCacheContext.java
Outdated
Show resolved
Hide resolved
353aea4
to
3d9b1e4
Compare
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.
lgtm
} | ||
} | ||
|
||
private static <T> Iterator<T> closeWhenExhausted(Iterator<T> iterator, Closeable resource) |
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.
this part of code looks so similar to FileSingleStreamSpiller
lol.
Will this feature have the same performance improvement when it is migrated to iceberg connector? |
Test plan - Multiple unit test for
CanonicalPlanGenerator
,FileFragmentResultCacheManager
andDriver
. Ran shadow test for internal queries. Ran verifier test for internal queries.