You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ha...@apache.org on 2021/11/09 01:22:35 UTC

[iotdb] branch rel/0.12 updated: [To/rel0.12] [IOTDB-1726] Correct the calculation of TimeSeriesMetadataCacheKey and ChunkMetadata (#4339)

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

haonan pushed a commit to branch rel/0.12
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/rel/0.12 by this push:
     new f376509  [To/rel0.12] [IOTDB-1726] Correct the calculation of TimeSeriesMetadataCacheKey and ChunkMetadata (#4339)
f376509 is described below

commit f37650922294702ef459dd61ab90dc8cee8991cb
Author: Jackie Tien <Ja...@foxmail.com>
AuthorDate: Tue Nov 9 09:21:46 2021 +0800

    [To/rel0.12] [IOTDB-1726] Correct the calculation of TimeSeriesMetadataCacheKey and ChunkMetadata (#4339)
---
 .gitignore                                                           | 5 +++++
 .../org/apache/iotdb/db/engine/cache/TimeSeriesMetadataCache.java    | 4 ++--
 .../java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadata.java    | 3 ++-
 3 files changed, 9 insertions(+), 3 deletions(-)

diff --git a/.gitignore b/.gitignore
index 757a55b..4d2f8ba 100644
--- a/.gitignore
+++ b/.gitignore
@@ -108,3 +108,8 @@ node3/
 
 # Exclude copied license
 /client-py/LICENSE
+
+# ANTLR
+antlr/gen/
+antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/gen/
+antlr/src/main/antlr4/org/apache/iotdb/db/qp/sql/IoTDBSqlLexer.tokens
\ No newline at end of file
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 7ba4c7e..f117dc1 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
@@ -84,6 +84,8 @@ public class TimeSeriesMetadataCache {
                             (RamUsageEstimator.shallowSizeOf(key)
                                 + RamUsageEstimator.sizeOf(key.device)
                                 + RamUsageEstimator.sizeOf(key.measurement)
+                                + RamUsageEstimator.sizeOf(key.tsFilePrefixPath)
+                                + RamUsageEstimator.sizeOf(key.tsFileVersion)
                                 + RamUsageEstimator.shallowSizeOf(value)
                                 + RamUsageEstimator.sizeOf(value.getMeasurementId())
                                 + RamUsageEstimator.shallowSizeOf(value.getStatistics())
@@ -217,8 +219,6 @@ public class TimeSeriesMetadataCache {
     private final String device;
     private final String measurement;
 
-    private long ramSize;
-
     public TimeSeriesMetadataCacheKey(String filePath, String device, String measurement) {
       this.filePath = filePath;
       Pair<String, Long> tsFilePrefixPathAndTsFileVersionPair =
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadata.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadata.java
index d3bfe2d..5a0bca2 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadata.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/ChunkMetadata.java
@@ -63,7 +63,7 @@ public class ChunkMetadata {
 
   private boolean isFromOldTsFile = false;
 
-  private static final int CHUNK_METADATA_FIXED_RAM_SIZE = 80;
+  private static final int CHUNK_METADATA_FIXED_RAM_SIZE = 84;
 
   // used for SeriesReader to indicate whether it is a seq/unseq timeseries metadata
   private boolean isSeq = true;
@@ -254,6 +254,7 @@ public class ChunkMetadata {
 
   public long calculateRamSize() {
     return CHUNK_METADATA_FIXED_RAM_SIZE
+        + RamUsageEstimator.sizeOf(tsFilePrefixPath)
         + RamUsageEstimator.sizeOf(measurementUid)
         + statistics.calculateRamSize();
   }