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:25:14 UTC
[incubator-iotdb] 01/02: handle delete sg
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);