This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new 97141c7 fix can not recover because of error wal and add log (#1228)
97141c7 is described below
commit 97141c726462e16b432dc8b7bd581b2dd6ee1157
Author: Jialin Qiao <[email protected]>
AuthorDate: Tue May 19 22:52:19 2020 +0800
fix can not recover because of error wal and add log (#1228)
* fix recover and add log
---
.../java/org/apache/iotdb/db/engine/StorageEngine.java | 16 ++++++++++------
.../apache/iotdb/db/writelog/io/SingleFileLogReader.java | 7 +++----
2 files changed, 13 insertions(+), 10 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
index 89419ec..a1cc16c 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/StorageEngine.java
@@ -148,12 +148,16 @@ public class StorageEngine implements IService {
List<Future> futures = new ArrayList<>();
for (StorageGroupMNode storageGroup : sgNodes) {
futures.add(recoveryThreadPool.submit((Callable<Void>) () -> {
- StorageGroupProcessor processor = new StorageGroupProcessor(systemDir,
- storageGroup.getFullPath(), fileFlushPolicy);
- processor.setDataTTL(storageGroup.getDataTTL());
- processorMap.put(storageGroup.getFullPath(), processor);
- logger.info("Storage Group Processor {} is recovered successfully",
- storageGroup.getFullPath());
+ try {
+ StorageGroupProcessor processor = new
StorageGroupProcessor(systemDir,
+ storageGroup.getFullPath(), fileFlushPolicy);
+ processor.setDataTTL(storageGroup.getDataTTL());
+ processorMap.put(storageGroup.getFullPath(), processor);
+ logger.info("Storage Group Processor {} is recovered successfully",
+ storageGroup.getFullPath());
+ } catch (Exception e) {
+ logger.error("meet error when recovering storage group: {}",
storageGroup, e);
+ }
return null;
}));
}
diff --git
a/server/src/main/java/org/apache/iotdb/db/writelog/io/SingleFileLogReader.java
b/server/src/main/java/org/apache/iotdb/db/writelog/io/SingleFileLogReader.java
index 1179556..e398413 100644
---
a/server/src/main/java/org/apache/iotdb/db/writelog/io/SingleFileLogReader.java
+++
b/server/src/main/java/org/apache/iotdb/db/writelog/io/SingleFileLogReader.java
@@ -87,15 +87,14 @@ public class SingleFileLogReader implements ILogReader {
+ "file: "
+ "%d Calculated: %d.", idx, checkSum, checkSummer.getValue()));
}
+
+ batchLogReader = new BatchLogReader(ByteBuffer.wrap(buffer));
+ fileCorrupted = fileCorrupted || batchLogReader.isFileCorrupted();
} catch (IOException e) {
logger.error("Cannot read more PhysicalPlans from {} because", filepath,
e);
fileCorrupted = true;
return false;
}
-
- batchLogReader = new BatchLogReader(ByteBuffer.wrap(buffer));
- fileCorrupted = fileCorrupted || batchLogReader.isFileCorrupted();
-
return true;
}