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/03/11 12:34:00 UTC

[iotdb] 01/01: fix bug

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

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

commit 1bfcc3fea2a86d90cb7942b0e76f86e89edcbe37
Author: JackieTien97 <Ja...@foxmail.com>
AuthorDate: Thu Mar 11 20:33:21 2021 +0800

    fix bug
---
 .../db/engine/cache/TimeSeriesMetadataCache.java   | 31 ++++++++++++----------
 1 file changed, 17 insertions(+), 14 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 d6ad1f4..580755d 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
@@ -183,21 +183,24 @@ public class TimeSeriesMetadataCache {
           List<TimeseriesMetadata> timeSeriesMetadataList =
               reader.readTimeseriesMetadata(path, allSensors);
           // put TimeSeriesMetadata of all sensors used in this query into cache
-          lock.writeLock().lock();
-          try {
-            timeSeriesMetadataList.forEach(
-                metadata -> {
-                  TimeSeriesMetadataCacheKey k =
-                      new TimeSeriesMetadataCacheKey(
-                          key.filePath, key.device, metadata.getMeasurementId());
-                  if (!lruCache.containsKey(k)) {
-                    lruCache.put(k, metadata);
-                  }
-                });
-            timeseriesMetadata = lruCache.get(key);
-          } finally {
-            lock.writeLock().unlock();
+          if (timeSeriesMetadataList != null) {
+            lock.writeLock().lock();
+            try {
+              timeSeriesMetadataList.forEach(
+                  metadata -> {
+                    TimeSeriesMetadataCacheKey k =
+                        new TimeSeriesMetadataCacheKey(
+                            key.filePath, key.device, metadata.getMeasurementId());
+                    if (!lruCache.containsKey(k)) {
+                      lruCache.put(k, metadata);
+                    }
+                  });
+              timeseriesMetadata = lruCache.get(key);
+            } finally {
+              lock.writeLock().unlock();
+            }
           }
+
         }
       }
     }