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/06/03 07:12:45 UTC
[incubator-iotdb] 02/04: reuse mnodeCache,
fix getDeviceWithAutoCreate
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch add_get_sleep
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 8bae7f0782a4e82bf4861f97688868041b9af4d5
Author: qiaojialin <64...@qq.com>
AuthorDate: Wed Jun 3 13:47:05 2020 +0800
reuse mnodeCache, fix getDeviceWithAutoCreate
---
.../org/apache/iotdb/db/metadata/MManager.java | 46 +++++++++++-----------
1 file changed, 23 insertions(+), 23 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 791a168..5a1662c 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
@@ -111,21 +111,21 @@ public class MManager {
writeToLog = false;
int cacheSize = config.getmManagerCacheSize();
-// mNodeCache =
-// new RandomDeleteCache<String, MNode>(cacheSize) {
-//
-// @Override
-// public MNode loadObjectByKey(String key) throws CacheException {
-// lock.readLock().lock();
-// try {
-// return mtree.getNodeByPathWithStorageGroupCheck(key);
-// } catch (MetadataException e) {
-// throw new CacheException(e);
-// } finally {
-// lock.readLock().unlock();
-// }
-// }
-// };
+ mNodeCache =
+ new RandomDeleteCache<String, MNode>(cacheSize) {
+
+ @Override
+ public MNode loadObjectByKey(String key) throws CacheException {
+ lock.readLock().lock();
+ try {
+ return mtree.getNodeByPathWithStorageGroupCheck(key);
+ } catch (MetadataException e) {
+ throw new CacheException(e);
+ } finally {
+ lock.readLock().unlock();
+ }
+ }
+ };
}
public static MManager getInstance() {
@@ -189,7 +189,7 @@ public class MManager {
lock.writeLock().lock();
try {
this.mtree = new MTree();
-// this.mNodeCache.clear();
+ this.mNodeCache.clear();
this.tagIndex.clear();
this.seriesNumberInStorageGroups.clear();
this.maxSeriesNumberAmongStorageGroup = 0;
@@ -379,7 +379,7 @@ public class MManager {
}
}
-// mNodeCache.clear();
+ mNodeCache.clear();
}
try {
Set<String> emptyStorageGroups = new HashSet<>();
@@ -445,7 +445,7 @@ public class MManager {
String storageGroupName = pair.left;
// TODO: delete the path node and all its ancestors
-// mNodeCache.clear();
+ mNodeCache.clear();
try {
IoTDBConfigDynamicAdapter.getInstance().addOrDeleteTimeSeries(-1);
} catch (ConfigAdjusterException e) {
@@ -513,7 +513,7 @@ public class MManager {
for (LeafMNode leafMNode : leafMNodes) {
removeFromTagInvertedIndex(leafMNode);
}
-// mNodeCache.clear();
+ mNodeCache.clear();
if (config.isEnableParameterAdapter()) {
IoTDBConfigDynamicAdapter.getInstance().addOrDeleteStorageGroup(-1);
@@ -930,9 +930,9 @@ public class MManager {
MNode node = null;
boolean shouldSetStorageGroup;
try {
- node = mtree.getNodeByPathWithStorageGroupCheck(path);
+ node = mNodeCache.get(path);
return node;
- } catch (MetadataException e) {
+ } catch (CacheException e) {
if (!autoCreateSchema) {
throw new PathNotExistException(path);
}
@@ -946,9 +946,9 @@ public class MManager {
lock.writeLock().lock();
try {
try {
- node = mtree.getNodeByPathWithStorageGroupCheck(path);
+ node = mNodeCache.get(path);
return node;
- } catch (MetadataException e) {
+ } catch (CacheException e) {
shouldSetStorageGroup = e.getCause() instanceof StorageGroupNotSetException;
}