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/09 01:36:54 UTC
[incubator-iotdb] 01/01: Add a judgement before removing entry from
tag inverted index
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch check_tag
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit bc7f4223e34135455da8b587085ccf756dfc0ec5
Author: qiaojialin <64...@qq.com>
AuthorDate: Tue Jun 9 09:36:38 2020 +0800
Add a judgement before removing entry from tag inverted index
---
.../java/org/apache/iotdb/db/metadata/MManager.java | 20 +++++++++++++++-----
1 file changed, 15 insertions(+), 5 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 b9c55a9..5995fc8 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
@@ -433,11 +433,21 @@ public class MManager {
tagLogFile.readTag(config.getTagAttributeTotalSize(), node.getOffset());
if (tagMap != null) {
for (Entry<String, String> entry : tagMap.entrySet()) {
- tagIndex.get(entry.getKey()).get(entry.getValue()).remove(node);
- if (tagIndex.get(entry.getKey()).get(entry.getValue()).isEmpty()) {
- tagIndex.get(entry.getKey()).remove(entry.getValue());
- if (tagIndex.get(entry.getKey()).isEmpty()) {
- tagIndex.remove(entry.getKey());
+ if (tagIndex.containsKey(entry.getKey()) && tagIndex.get(entry.getKey())
+ .containsKey(entry.getValue())) {
+ tagIndex.get(entry.getKey()).get(entry.getValue()).remove(node);
+ if (tagIndex.get(entry.getKey()).get(entry.getValue()).isEmpty()) {
+ tagIndex.get(entry.getKey()).remove(entry.getValue());
+ if (tagIndex.get(entry.getKey()).isEmpty()) {
+ tagIndex.remove(entry.getKey());
+ }
+ }
+ } else {
+ if (logger.isWarnEnabled()) {
+ logger.warn(String.format(
+ "TimeSeries %s's tag info has been removed from tag inverted index before "
+ + "deleting it, tag key is %s, tag value is %s",
+ node.getFullPath(), entry.getKey(), entry.getValue()));
}
}
}