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)

Reply via email to