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