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/05/31 01:58:29 UTC

[iotdb] branch ChunkCacheCaffeine updated: fix potential bug

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

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


The following commit(s) were added to refs/heads/ChunkCacheCaffeine by this push:
     new e037227  fix potential bug
e037227 is described below

commit e0372279c10fe877a8b70313287a75f917cfc343
Author: JackieTien97 <Ja...@foxmail.com>
AuthorDate: Mon May 31 09:57:58 2021 +0800

    fix potential bug
---
 .../iotdb/db/engine/cache/TimeSeriesMetadataCache.java  | 17 +++++++++--------
 1 file changed, 9 insertions(+), 8 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 5c2dadb..a5585ec 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
@@ -198,14 +198,15 @@ public class TimeSeriesMetadataCache {
           List<TimeseriesMetadata> timeSeriesMetadataList =
               reader.readTimeseriesMetadata(path, allSensors);
           // put TimeSeriesMetadata of all sensors used in this query into cache
-          timeSeriesMetadataList.forEach(
-              metadata -> {
-                TimeSeriesMetadataCacheKey k =
-                    new TimeSeriesMetadataCacheKey(
-                        key.filePath, key.device, metadata.getMeasurementId());
-                lruCache.put(k, metadata);
-              });
-          timeseriesMetadata = lruCache.getIfPresent(key);
+          for (TimeseriesMetadata metadata : timeSeriesMetadataList) {
+            TimeSeriesMetadataCacheKey k =
+                new TimeSeriesMetadataCacheKey(
+                    key.filePath, key.device, metadata.getMeasurementId());
+            lruCache.put(k, metadata);
+            if (metadata.getMeasurementId().equals(key.measurement)) {
+              timeseriesMetadata = metadata;
+            }
+          }
         }
       }
     }