This is an automated email from the ASF dual-hosted git repository.
roryqi pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/main by this push:
new dfec1b64d4 [#9782] improvement(iceberg): Optimize the catalog wrapper
and entity cache expiry strategy (#10180)
dfec1b64d4 is described below
commit dfec1b64d4ce2c04589f5380ed6363625c60dcfc
Author: roryqi <[email protected]>
AuthorDate: Wed Mar 4 21:03:44 2026 +0800
[#9782] improvement(iceberg): Optimize the catalog wrapper and entity cache
expiry strategy (#10180)
### What changes were proposed in this pull request?
Optimize the catalog wrapper entity cache expiry strategy.
After https://github.com/apache/gravitino/pull/9969, we can expire the
cache timely. So we can change the cache expiry strategy.
Without this patch, the catalog may be closed because of cache expiry
when we access the catalog.
### Why are the changes needed?
Fix: #9782
### Does this PR introduce _any_ user-facing change?
No.
### How was this patch tested?
Code review.
---
core/src/main/java/org/apache/gravitino/cache/CaffeineEntityCache.java | 2 +-
.../apache/gravitino/iceberg/service/IcebergCatalogWrapperManager.java | 2 +-
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git
a/core/src/main/java/org/apache/gravitino/cache/CaffeineEntityCache.java
b/core/src/main/java/org/apache/gravitino/cache/CaffeineEntityCache.java
index 40036e1bc7..ede392c996 100644
--- a/core/src/main/java/org/apache/gravitino/cache/CaffeineEntityCache.java
+++ b/core/src/main/java/org/apache/gravitino/cache/CaffeineEntityCache.java
@@ -403,7 +403,7 @@ public class CaffeineEntityCache extends BaseEntityCache {
}
if (cacheConfig.get(Configs.CACHE_EXPIRATION_TIME) > 0) {
- builder.expireAfterWrite(
+ builder.expireAfterAccess(
cacheConfig.get(Configs.CACHE_EXPIRATION_TIME),
TimeUnit.MILLISECONDS);
}
diff --git
a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/IcebergCatalogWrapperManager.java
b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/IcebergCatalogWrapperManager.java
index 946f24f441..f0b8b400c5 100644
---
a/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/IcebergCatalogWrapperManager.java
+++
b/iceberg/iceberg-rest-server/src/main/java/org/apache/gravitino/iceberg/service/IcebergCatalogWrapperManager.java
@@ -56,7 +56,7 @@ public class IcebergCatalogWrapperManager implements
AutoCloseable {
this.configProvider = configProvider;
this.catalogWrapperCache =
Caffeine.newBuilder()
- .expireAfterWrite(
+ .expireAfterAccess(
(new IcebergConfig(properties))
.get(IcebergConfig.ICEBERG_REST_CATALOG_CACHE_EVICTION_INTERVAL),
TimeUnit.MILLISECONDS)