You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by lt...@apache.org on 2020/03/18 01:19:47 UTC

[incubator-iotdb] branch fix_add_duplicated_metadata_bug created (now 4f2801a)

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

lta pushed a change to branch fix_add_duplicated_metadata_bug
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git.


      at 4f2801a  handle delete sg

This branch includes the following new commits:

     new 4f2801a  handle delete sg

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



[incubator-iotdb] 01/01: handle delete sg

Posted by lt...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

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

commit 4f2801ac1ed057addf8e17224bbddcb2d15796ac
Author: lta <li...@163.com>
AuthorDate: Wed Mar 18 09:19:29 2020 +0800

    handle delete sg
---
 .../org/apache/iotdb/db/metadata/MManager.java     | 33 ++++++++++------------
 1 file changed, 15 insertions(+), 18 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 94a382f..31d34d5 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
@@ -160,7 +160,7 @@ public class MManager {
     initialized = true;
   }
 
-  private void initFromLog(File logFile) throws IOException, MetadataException {
+  private void initFromLog(File logFile) throws IOException {
     // init the metadata from the operation log
     mtree = new MTree();
     if (logFile.exists()) {
@@ -168,7 +168,11 @@ public class MManager {
           BufferedReader br = new BufferedReader(fr)) {
         String cmd;
         while ((cmd = br.readLine()) != null) {
-          operation(cmd);
+          try {
+            operation(cmd);
+          } catch (MetadataException exception) {
+            logger.error("Can not operate cmd {}", cmd);
+          }
         }
       }
     }
@@ -481,23 +485,16 @@ public class MManager {
   public void deleteStorageGroups(List<String> storageGroups) throws MetadataException {
     lock.writeLock().lock();
     try {
-      if (writeToLog) {
-        StringBuilder jointPath = new StringBuilder();
-        for (String storagePath : storageGroups) {
-          jointPath.append(",").append(storagePath);
-        }
-        BufferedWriter writer = getLogWriter();
-        writer.write(MetadataOperationType.DELETE_STORAGE_GROUP + jointPath);
-        writer.newLine();
-        writer.flush();
-      }
+      BufferedWriter writer = getLogWriter();
       for (String storageGroup : storageGroups) {
-        try {
-          // try to delete storage group
-          mtree.deleteStorageGroup(storageGroup);
-        } catch (MetadataException e) {
-          IoTDBConfigDynamicAdapter.getInstance().addOrDeleteStorageGroup(1);
-          throw new MetadataException(e);
+        // try to delete storage group
+        mtree.deleteStorageGroup(storageGroup);
+
+        // if success
+        if (writeToLog) {
+          writer.write(MetadataOperationType.DELETE_STORAGE_GROUP + storageGroup);
+          writer.newLine();
+          writer.flush();
         }
         mNodeCache.clear();
         IoTDBConfigDynamicAdapter.getInstance().addOrDeleteStorageGroup(-1);