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

jiangtian pushed a commit to branch dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/dev/1.3 by this push:
     new be828108388 Fixed the calculation error of schema cache (#16818) 
(#16822)
be828108388 is described below

commit be828108388842d6aef553fccbbe15d7e015223d
Author: Caideyipi <[email protected]>
AuthorDate: Thu Nov 27 14:19:26 2025 +0800

    Fixed the calculation error of schema cache (#16818) (#16822)
    
    * ff
    
    * back-roll
---
 .../db/queryengine/plan/analyze/cache/schema/DeviceLastCache.java | 3 +--
 .../queryengine/plan/analyze/cache/schema/DeviceNormalSchema.java | 8 ++++++--
 2 files changed, 7 insertions(+), 4 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceLastCache.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceLastCache.java
index a2f7696b6df..36fc39c3286 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceLastCache.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceLastCache.java
@@ -104,8 +104,7 @@ public class DeviceLastCache {
             }
             if (Objects.isNull(tvPair)) {
               diff.addAndGet(
-                  (int) RamUsageEstimator.sizeOf(measurement)
-                      + (int) RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY);
+                  (int) RamUsageEstimator.sizeOf(measurement) + 
getTVPairEntrySize(newPair));
               return newPair;
             }
             return tvPair;
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceNormalSchema.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceNormalSchema.java
index cfad9c9e45e..5ce2ca06fcd 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceNormalSchema.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/analyze/cache/schema/DeviceNormalSchema.java
@@ -88,7 +88,10 @@ public class DeviceNormalSchema implements IDeviceSchema {
     final SchemaCacheEntry putEntry = new SchemaCacheEntry(schema, tagMap);
     final SchemaCacheEntry cachedEntry = measurementMap.put(measurement, 
putEntry);
     return Objects.isNull(cachedEntry)
-        ? (int) (RamUsageEstimator.sizeOf(measurement) + 
SchemaCacheEntry.estimateSize(putEntry))
+        ? (int)
+            (RamUsageEstimator.sizeOf(measurement)
+                + SchemaCacheEntry.estimateSize(putEntry)
+                + RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY)
         : SchemaCacheEntry.estimateSize(putEntry) - 
SchemaCacheEntry.estimateSize(cachedEntry);
   }
 
@@ -101,7 +104,8 @@ public class DeviceNormalSchema implements IDeviceSchema {
                 entry ->
                     Math.toIntExact(
                         RamUsageEstimator.sizeOf(entry.getKey())
-                            + SchemaCacheEntry.estimateSize(entry.getValue())))
+                            + SchemaCacheEntry.estimateSize(entry.getValue())
+                            + RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY))
             .reduce(0, Integer::sum);
   }
 }

Reply via email to