You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2020/04/16 04:00:38 UTC

[incubator-iotdb] 01/01: fix init MManager bug

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

qiaojialin pushed a commit to branch fix_mmanager_recover
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git

commit fb79d4e1e5bea4b1134de39f8e8d024acd51eed5
Author: qiaojialin <64...@qq.com>
AuthorDate: Thu Apr 16 12:00:20 2020 +0800

    fix init MManager bug
---
 .../java/org/apache/iotdb/db/metadata/MManager.java   | 19 ++++++++++++-------
 1 file changed, 12 insertions(+), 7 deletions(-)

diff --git a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
index 01a5e47..f4d8fd9 100644
--- a/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
+++ b/server/src/main/java/org/apache/iotdb/db/metadata/MManager.java
@@ -134,11 +134,15 @@ public class MManager {
     File logFile = SystemFileFactory.INSTANCE.getFile(logFilePath);
 
     try {
-      initFromLog(logFile);
 
-      if (IoTDBDescriptor.getInstance().getConfig().isEnableParameterAdapter()) {
+      if (config.isEnableParameterAdapter()) {
         // storage group name -> the series number
         seriesNumberInStorageGroups = new HashMap<>();
+      }
+
+      initFromLog(logFile);
+
+      if (config.isEnableParameterAdapter()) {
         List<String> storageGroups = mtree.getAllStorageGroupNames();
         for (String sg : storageGroups) {
           MNode node = mtree.getNodeByPath(sg);
@@ -298,7 +302,7 @@ public class MManager {
       createTimeseriesWithMemoryCheckAndLog(path, dataType, encoding, compressor, props);
 
       // update statistics
-      if (IoTDBDescriptor.getInstance().getConfig().isEnableParameterAdapter()) {
+      if (config.isEnableParameterAdapter()) {
         int size = seriesNumberInStorageGroups.get(storageGroupName);
         seriesNumberInStorageGroups.put(storageGroupName, size + 1);
         if (size + 1 > maxSeriesNumberAmongStorageGroup) {
@@ -368,7 +372,7 @@ public class MManager {
     lock.writeLock().lock();
     if (isStorageGroup(prefixPath)) {
 
-      if (IoTDBDescriptor.getInstance().getConfig().isEnableParameterAdapter()) {
+      if (config.isEnableParameterAdapter()) {
         int size = seriesNumberInStorageGroups.get(prefixPath);
         seriesNumberInStorageGroups.put(prefixPath, 0);
         if (size == maxSeriesNumberAmongStorageGroup) {
@@ -423,7 +427,7 @@ public class MManager {
         throw new MetadataException(e);
       }
 
-      if (IoTDBDescriptor.getInstance().getConfig().isEnableParameterAdapter()) {
+      if (config.isEnableParameterAdapter()) {
         String storageGroup = getStorageGroupName(path);
         int size = seriesNumberInStorageGroups.get(storageGroup);
         seriesNumberInStorageGroups.put(storageGroup, size - 1);
@@ -454,7 +458,8 @@ public class MManager {
         writer.flush();
       }
       IoTDBConfigDynamicAdapter.getInstance().addOrDeleteStorageGroup(1);
-      if (IoTDBDescriptor.getInstance().getConfig().isEnableParameterAdapter()) {
+
+      if (config.isEnableParameterAdapter()) {
         ActiveTimeSeriesCounter.getInstance().init(storageGroup);
         seriesNumberInStorageGroups.put(storageGroup, 0);
       }
@@ -489,7 +494,7 @@ public class MManager {
         }
         mNodeCache.clear();
 
-        if (IoTDBDescriptor.getInstance().getConfig().isEnableParameterAdapter()) {
+        if (config.isEnableParameterAdapter()) {
           IoTDBConfigDynamicAdapter.getInstance().addOrDeleteStorageGroup(-1);
           int size = seriesNumberInStorageGroups.get(storageGroup);
           IoTDBConfigDynamicAdapter.getInstance().addOrDeleteTimeSeries(size * -1);