This is an automated email from the ASF dual-hosted git repository. qiaojialin pushed a commit to branch fix_tsm_cache in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit 75eb861db68bb65d795646a6264376f043b4a661 Author: qiaojialin <[email protected]> AuthorDate: Fri Aug 20 12:45:09 2021 +0800 return current entry size directly in TimeseriesMetadataCache --- .../db/engine/cache/TimeSeriesMetadataCache.java | 54 +++++----------------- 1 file changed, 12 insertions(+), 42 deletions(-) diff --git a/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java b/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java index 4fd205c..fa14776 100644 --- a/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java +++ b/server/src/main/java/org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java @@ -80,50 +80,20 @@ public class TimeSeriesMetadataCache { .weigher( new Weigher<TimeSeriesMetadataCacheKey, TimeseriesMetadata>() { - int count = 0; - int averageSize = 0; - @Override public int weigh(TimeSeriesMetadataCacheKey key, TimeseriesMetadata value) { - int currentSize; - if (count < 10) { - currentSize = - (int) - (RamUsageEstimator.shallowSizeOf(key) - + RamUsageEstimator.sizeOf(key.device) - + RamUsageEstimator.sizeOf(key.measurement) - + RamUsageEstimator.shallowSizeOf(value) - + RamUsageEstimator.sizeOf(value.getMeasurementId()) - + RamUsageEstimator.shallowSizeOf(value.getStatistics()) - + (((ChunkMetadata) value.getChunkMetadataList().get(0)) - .calculateRamSize() - + RamUsageEstimator.NUM_BYTES_OBJECT_REF) - * value.getChunkMetadataList().size() - + RamUsageEstimator.shallowSizeOf(value.getChunkMetadataList())); - averageSize = ((averageSize * count) + currentSize) / (++count); - entryAverageSize.set(averageSize); - } else if (count < 100000) { - count++; - currentSize = averageSize; - } else { - averageSize = - (int) - (RamUsageEstimator.shallowSizeOf(key) - + RamUsageEstimator.sizeOf(key.device) - + RamUsageEstimator.sizeOf(key.measurement) - + RamUsageEstimator.shallowSizeOf(value) - + RamUsageEstimator.sizeOf(value.getMeasurementId()) - + RamUsageEstimator.shallowSizeOf(value.getStatistics()) - + (((ChunkMetadata) value.getChunkMetadataList().get(0)) - .calculateRamSize() - + RamUsageEstimator.NUM_BYTES_OBJECT_REF) - * value.getChunkMetadataList().size() - + RamUsageEstimator.shallowSizeOf(value.getChunkMetadataList())); - count = 1; - currentSize = averageSize; - entryAverageSize.set(averageSize); - } - return currentSize; + return (int) + (RamUsageEstimator.shallowSizeOf(key) + + RamUsageEstimator.sizeOf(key.device) + + RamUsageEstimator.sizeOf(key.measurement) + + RamUsageEstimator.shallowSizeOf(value) + + RamUsageEstimator.sizeOf(value.getMeasurementId()) + + RamUsageEstimator.shallowSizeOf(value.getStatistics()) + + (((ChunkMetadata) value.getChunkMetadataList().get(0)) + .calculateRamSize() + + RamUsageEstimator.NUM_BYTES_OBJECT_REF) + * value.getChunkMetadataList().size() + + RamUsageEstimator.shallowSizeOf(value.getChunkMetadataList())); } }) .recordStats()
