You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ja...@apache.org on 2021/06/08 07:37:10 UTC

[iotdb] branch select_vector updated: fix key error

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

jackietien pushed a commit to branch select_vector
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/select_vector by this push:
     new ee905c4  fix key error
ee905c4 is described below

commit ee905c4208a4712317dcfd10a476562b678b58aa
Author: JackieTien97 <Ja...@foxmail.com>
AuthorDate: Tue Jun 8 15:36:31 2021 +0800

    fix key error
---
 .../db/engine/cache/TimeSeriesMetadataCache.java   | 24 ++++++++++++++--------
 1 file changed, 15 insertions(+), 9 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 123fe97..6f336d1 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
@@ -93,8 +93,8 @@ public class TimeSeriesMetadataCache {
                       + RamUsageEstimator.sizeOf(value.getMeasurementId())
                       + RamUsageEstimator.shallowSizeOf(value.getStatistics())
                       + (((ChunkMetadata) value.getChunkMetadataList().get(0)).calculateRamSize()
-                              + RamUsageEstimator.NUM_BYTES_OBJECT_REF)
-                          * value.getChunkMetadataList().size()
+                      + RamUsageEstimator.NUM_BYTES_OBJECT_REF)
+                      * value.getChunkMetadataList().size()
                       + RamUsageEstimator.shallowSizeOf(value.getChunkMetadataList());
               averageSize = ((averageSize * count) + currentSize) / (++count);
             } else if (count < 100000) {
@@ -109,8 +109,8 @@ public class TimeSeriesMetadataCache {
                       + RamUsageEstimator.sizeOf(value.getMeasurementId())
                       + RamUsageEstimator.shallowSizeOf(value.getStatistics())
                       + (((ChunkMetadata) value.getChunkMetadataList().get(0)).calculateRamSize()
-                              + RamUsageEstimator.NUM_BYTES_OBJECT_REF)
-                          * value.getChunkMetadataList().size()
+                      + RamUsageEstimator.NUM_BYTES_OBJECT_REF)
+                      * value.getChunkMetadataList().size()
                       + RamUsageEstimator.shallowSizeOf(value.getChunkMetadataList());
               count = 1;
               currentSize = averageSize;
@@ -292,7 +292,7 @@ public class TimeSeriesMetadataCache {
                 metadata -> {
                   TimeSeriesMetadataCacheKey k =
                       new TimeSeriesMetadataCacheKey(
-                          key.filePath, key.device, metadata.getMeasurementId());
+                          key.filePath, key.device + IoTDBConstant.PATH_SEPARATOR + key.measurement, metadata.getMeasurementId());
                   if (!lruCache.containsKey(k)) {
                     lruCache.put(k, metadata);
                   }
@@ -329,12 +329,14 @@ public class TimeSeriesMetadataCache {
       TimeSeriesMetadataCacheKey key, List<String> subSensorList, List<TimeseriesMetadata> res) {
     lock.readLock().lock();
     try {
-      TimeseriesMetadata timeseriesMetadata = lruCache.get(key);
+      TimeseriesMetadata timeseriesMetadata = lruCache.get(new TimeSeriesMetadataCacheKey(key.filePath,
+          key.device + IoTDBConstant.PATH_SEPARATOR + key.measurement, key.measurement));
       if (timeseriesMetadata != null) {
         res.add(timeseriesMetadata);
         for (String subSensor : subSensorList) {
           timeseriesMetadata =
-              lruCache.get(new TimeSeriesMetadataCacheKey(key.filePath, key.device, subSensor));
+              lruCache.get(new TimeSeriesMetadataCacheKey(key.filePath,
+                  key.device + IoTDBConstant.PATH_SEPARATOR + key.measurement, subSensor));
           if (timeseriesMetadata != null) {
             res.add(timeseriesMetadata);
           } else {
@@ -383,7 +385,9 @@ public class TimeSeriesMetadataCache {
     return lruCache.getAverageSize();
   }
 
-  /** clear LRUCache. */
+  /**
+   * clear LRUCache.
+   */
   public void clear() {
     lock.writeLock().lock();
     if (lruCache != null) {
@@ -449,7 +453,9 @@ public class TimeSeriesMetadataCache {
     }
   }
 
-  /** singleton pattern. */
+  /**
+   * singleton pattern.
+   */
   private static class TimeSeriesMetadataCacheHolder {
 
     private static final TimeSeriesMetadataCache INSTANCE = new TimeSeriesMetadataCache();