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;
