This is an automated email from the ASF dual-hosted git repository.
haonan pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git
The following commit(s) were added to refs/heads/master by this push:
new e2f71993826 Storage Engine: optimized DataRegion recover log (#11996)
e2f71993826 is described below
commit e2f719938264bfeb557b990aee1bd8a3bf12cd39
Author: Zhijia Cao <[email protected]>
AuthorDate: Mon Jan 29 15:33:18 2024 +0800
Storage Engine: optimized DataRegion recover log (#11996)
---
.../db/storageengine/dataregion/DataRegion.java | 29 ++++++++++++----------
1 file changed, 16 insertions(+), 13 deletions(-)
diff --git
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
index 73a24f63c13..5866d45e07c 100644
---
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
+++
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/storageengine/dataregion/DataRegion.java
@@ -380,37 +380,40 @@ public class DataRegion implements IDataRegionForQuery {
private class DataRegionRecoveryContext {
/** number of files to be recovered. */
private final long numOfFilesToRecover;
- /** when the change of recoveredFilesNum exceeds this, log check will be
triggered. */
- private final long filesNumLogCheckTrigger;
+
/** number of already recovered files. */
private long recoveredFilesNum;
/** last recovery log time. */
private long lastLogTime;
- /** last recovery log files num. */
- private long lastLogCheckFilesNum;
+
/** recover performers of unsealed TsFiles. */
private final List<UnsealedTsFileRecoverPerformer> recoverPerformers = new
ArrayList<>();
public DataRegionRecoveryContext(long numOfFilesToRecover) {
this.numOfFilesToRecover = numOfFilesToRecover;
this.recoveredFilesNum = 0;
- this.filesNumLogCheckTrigger = this.numOfFilesToRecover / 100;
this.lastLogTime = System.currentTimeMillis();
- this.lastLogCheckFilesNum = 0;
}
public void incrementRecoveredFilesNum() {
recoveredFilesNum++;
- // check log only when 1% more files have been recovered
- if (lastLogCheckFilesNum + filesNumLogCheckTrigger < recoveredFilesNum) {
- lastLogCheckFilesNum = recoveredFilesNum;
- // log only when log interval exceeds recovery log interval
- if (lastLogTime + config.getRecoveryLogIntervalInMs() <
System.currentTimeMillis()) {
+ if (recoveredFilesNum < numOfFilesToRecover) {
+ if (System.currentTimeMillis() - lastLogTime >
config.getRecoveryLogIntervalInMs()) {
logger.info(
- "The data region {}[{}] has recovered {}%, please wait a
moment.",
- databaseName, dataRegionId, recoveredFilesNum * 100.0 /
numOfFilesToRecover);
+ "The TsFiles of data region {}[{}] has recovered {}/{}.",
+ databaseName,
+ dataRegionId,
+ recoveredFilesNum,
+ numOfFilesToRecover);
lastLogTime = System.currentTimeMillis();
}
+ } else {
+ logger.info(
+ "The TsFiles of data region {}[{}] has recovered" + " {}/{}.",
+ databaseName,
+ dataRegionId,
+ numOfFilesToRecover,
+ numOfFilesToRecover);
}
}
}