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();
}