Skip to content

Commit ddcc646

Browse files
authored
Fixed the calculation error of schema cache (#16818)
* ff * back-roll
1 parent fb899b1 commit ddcc646

File tree

2 files changed

+9
-5
lines changed

2 files changed

+9
-5
lines changed

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/cache/TableDeviceLastCache.java

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -120,14 +120,14 @@ int initOrInvalidate(
120120
(measurementKey, tvPair) -> {
121121
if (Objects.isNull(newPair)) {
122122
diff.addAndGet(
123-
-((isTableModel ? 0 : (int) RamUsageEstimator.sizeOf(finalMeasurement))
124-
+ getTVPairEntrySize(tvPair)));
123+
-(isTableModel ? 0 : (int) RamUsageEstimator.sizeOf(finalMeasurement))
124+
+ getTVPairEntrySize(tvPair));
125125
return null;
126126
}
127127
if (Objects.isNull(tvPair)) {
128128
diff.addAndGet(
129129
(isTableModel ? 0 : (int) RamUsageEstimator.sizeOf(finalMeasurement))
130-
+ (int) RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY);
130+
+ getTVPairEntrySize(newPair));
131131
return newPair;
132132
}
133133
return tvPair;

iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/cache/TreeDeviceNormalSchema.java

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,10 @@ private int putEntry(
8888
final SchemaCacheEntry putEntry = new SchemaCacheEntry(schema, tagMap);
8989
final SchemaCacheEntry cachedEntry = measurementMap.put(measurement, putEntry);
9090
return Objects.isNull(cachedEntry)
91-
? (int) (RamUsageEstimator.sizeOf(measurement) + SchemaCacheEntry.estimateSize(putEntry))
91+
? (int)
92+
(RamUsageEstimator.sizeOf(measurement)
93+
+ SchemaCacheEntry.estimateSize(putEntry)
94+
+ RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY)
9295
: SchemaCacheEntry.estimateSize(putEntry) - SchemaCacheEntry.estimateSize(cachedEntry);
9396
}
9497

@@ -101,7 +104,8 @@ public int estimateSize() {
101104
entry ->
102105
Math.toIntExact(
103106
RamUsageEstimator.sizeOf(entry.getKey())
104-
+ SchemaCacheEntry.estimateSize(entry.getValue())))
107+
+ SchemaCacheEntry.estimateSize(entry.getValue())
108+
+ RamUsageEstimator.HASHTABLE_RAM_BYTES_PER_ENTRY))
105109
.reduce(0, Integer::sum);
106110
}
107111
}

0 commit comments

Comments
 (0)