[Iceberg] Cache invalidation procedure for Iceberg coordinator cache#24831
Conversation
steveburnett
left a comment
There was a problem hiding this comment.
LGTM! (docs)
Pull branch, local doc build. Thanks for the doc!
|
Thanks for the release note! Nit of phrasing suggested to follow the Order of changes in the Release Notes Guidelines: |
ZacBlanco
left a comment
There was a problem hiding this comment.
mostly nits. Approach seems reasonable
5aa44bd to
56c0882
Compare
hantangwangd
left a comment
There was a problem hiding this comment.
Change looks good to me. Only some little nits.
| Statistics file cache invalidation procedure | ||
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | ||
|
|
||
| * Flush Statistics file cache :: |
There was a problem hiding this comment.
| * Flush Statistics file cache :: | |
| * Invalidate Statistics file cache :: |
nit: miss modifying this?
| import static com.facebook.presto.common.block.MethodHandleUtil.methodHandle; | ||
| import static java.util.Objects.requireNonNull; | ||
|
|
||
| public class IcebergManifestFileCacheInvalidationProcedure |
There was a problem hiding this comment.
nit: Do you think it makes sense to remove Iceberg from the class name? Refer to other procedures which are implemented and registered in Iceberg as well.
| CACHE_DATA_INVALIDATION.bindTo(this)); | ||
| } | ||
|
|
||
| public void icebergManifestFileCacheInvalidation() |
There was a problem hiding this comment.
nit: Should we remove iceberg from the method name?
| import static com.facebook.presto.common.block.MethodHandleUtil.methodHandle; | ||
| import static java.util.Objects.requireNonNull; | ||
|
|
||
| public class IcebergStatisticsFileCacheInvalidationProcedure |
| CACHE_DATA_INVALIDATION.bindTo(this)); | ||
| } | ||
|
|
||
| public void icebergStatisticsFileCacheInvalidation() |
a1dfa83 to
c5bc14f
Compare
c5bc14f to
067a49a
Compare
067a49a to
bdf9204
Compare
|
@ZacBlanco @hantangwangd Thanks for your review, addressed your comments. Please take a look when you get a chance. |
yingsu00
left a comment
There was a problem hiding this comment.
Thank you Reetika! Would you please include the procedure names in the release notes?
@yingsu00 Done |
Description
Cache invalidation procedure for Iceberg coordinator cache
Motivation and Context
Cache invalidation procedure for Iceberg coordinator cache.
The rationale for enabling this procedure is:
To provide a mechanism for on-demand cache invalidation, allowing memory to be freed up on the coordinator.
To facilitate detailed query execution analysis when there are no plan changes. This is particularly useful for single-query cold/warm analysis, where:
Cold: The state where caches are not populated.
Warm: The state where caches are already populated, and the query primarily runs in memory.
To accurately measure query performance, we need a way to clear all caches before executing the next query. Since there is currently no built-in method to invalidate the coordinator cache, this PR introduces a procedure to enable cache cleanup.
Impact
Enable new procedure -
Test Plan
Test added
Contributor checklist
Release Notes
Please follow release notes guidelines and fill in the release notes below.