This is an automated email from the ASF dual-hosted git repository.

boroknagyz pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/impala.git

commit ffcb9a9ec74b9797e2e1b231f3aa1ca074da35a4
Author: Csaba Ringhofer <[email protected]>
AuthorDate: Wed Feb 11 19:36:30 2026 +0100

    IMPALA-14739: Log if local catalog cache entry size is truncated
    
    The weigh() function cannot return more than 2GB. Such huge objects
    should be very rare, but if it happens, the cache will underestimate
    its size. Add a warning in this case.
    
    Change-Id: I30554e55e0d487be38e10ddadb7fe53410f61201
    Reviewed-on: http://gerrit.cloudera.org:8080/23964
    Reviewed-by: Csaba Ringhofer <[email protected]>
    Tested-by: Impala Public Jenkins <[email protected]>
---
 .../java/org/apache/impala/catalog/local/CatalogdMetaProvider.java  | 6 +++++-
 1 file changed, 5 insertions(+), 1 deletion(-)

diff --git 
a/fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java 
b/fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java
index 7db96fdcc..7eccfd198 100644
--- a/fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java
+++ b/fe/src/main/java/org/apache/impala/catalog/local/CatalogdMetaProvider.java
@@ -208,7 +208,7 @@ import 
com.google.errorprone.annotations.concurrent.GuardedBy;
  */
 public class CatalogdMetaProvider implements MetaProvider {
 
-  private final static Logger LOG = 
LoggerFactory.getLogger(CatalogdMetaProvider.class);
+  private static final Logger LOG = 
LoggerFactory.getLogger(CatalogdMetaProvider.class);
 
   /**
    * Sentinel value used as a negative cache entry for column statistics.
@@ -2293,6 +2293,9 @@ public class CatalogdMetaProvider implements MetaProvider 
{
 
   @VisibleForTesting
   static class SizeOfWeigher implements Weigher<Object, Object> {
+
+    private static final Logger LOG = 
LoggerFactory.getLogger(SizeOfWeigher.class);
+
     // Bypass flyweight objects like small boxed integers, Boolean.TRUE, 
enums, etc.
     private static final boolean BYPASS_FLYWEIGHT = true;
     // Cache the reflected sizes of classes seen.
@@ -2351,6 +2354,7 @@ public class CatalogdMetaProvider implements MetaProvider 
{
         entrySize_.update(size);
       }
       if (size > Integer.MAX_VALUE) {
+        LOG.warn("weight exceeded Integer.MAX_VALUE: {}", size);
         return Integer.MAX_VALUE;
       }
       return (int)size;

Reply via email to