You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by hx...@apache.org on 2019/09/26 17:19:01 UTC
[incubator-iotdb] 01/12: [IoTDB-172]fix bug about TsFileResource
updateTime
This is an automated email from the ASF dual-hosted git repository.
hxd pushed a commit to branch rel/0.8
in repository https://gitbox.apache.org/repos/asf/incubator-iotdb.git
commit 2fbd7b9055ad95ebb810035bf905e0ade50d6f00
Author: RuiLei <ru...@gmail.com>
AuthorDate: Wed Aug 21 15:26:57 2019 +0800
[IoTDB-172]fix bug about TsFileResource updateTime
---
.../iotdb/db/cost/statistic/Measurement.java | 2 +-
.../engine/storagegroup/StorageGroupProcessor.java | 4 ++--
.../db/engine/storagegroup/TsFileResource.java | 1 +
.../iotdb/db/writelog/recover/LogReplayer.java | 4 ++--
.../writelog/recover/TsFileRecoverPerformer.java | 23 ++++++++++++++--------
5 files changed, 21 insertions(+), 13 deletions(-)
diff --git a/server/src/main/java/org/apache/iotdb/db/cost/statistic/Measurement.java b/server/src/main/java/org/apache/iotdb/db/cost/statistic/Measurement.java
index 1c7aded..377023b 100644
--- a/server/src/main/java/org/apache/iotdb/db/cost/statistic/Measurement.java
+++ b/server/src/main/java/org/apache/iotdb/db/cost/statistic/Measurement.java
@@ -253,7 +253,7 @@ public class Measurement implements MeasurementMBean, IService {
service = IoTDBThreadPoolFactory.newScheduledThreadPool(
2, ThreadName.TIME_COST_STATSTIC.getName());
}
- //we have to check again because someone may channge the value.
+ //we have to check again because someone may change the value.
isEnableStat = IoTDBDescriptor.getInstance().getConfig().isEnablePerformanceStat();
if (isEnableStat) {
consumeFuture = service.schedule(new QueueConsumerThread(), 0, TimeUnit.MILLISECONDS);
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
index f04469e..5d5f129 100755
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/StorageGroupProcessor.java
@@ -160,8 +160,8 @@ public class StorageGroupProcessor {
if (storageGroupSysDir.mkdirs()) {
logger.info("Storage Group system Directory {} doesn't exist, create it",
storageGroupSysDir.getPath());
- } else if(!storageGroupSysDir.exists()) {
- logger.error("craete Storage Group system Directory {} failed",
+ } else if (!storageGroupSysDir.exists()) {
+ logger.error("create Storage Group system Directory {} failed",
storageGroupSysDir.getPath());
}
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
index fae36f2..1ad5306 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileResource.java
@@ -221,6 +221,7 @@ public class TsFileResource {
return processor;
}
+ @Deprecated
public void updateTime(String deviceId, long time) {
startTimeMap.putIfAbsent(deviceId, time);
Long endTime = endTimeMap.get(deviceId);
diff --git a/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java b/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java
index 2e1f774..b0e63eb 100644
--- a/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java
+++ b/server/src/main/java/org/apache/iotdb/db/writelog/recover/LogReplayer.java
@@ -103,8 +103,8 @@ public class LogReplayer {
} finally {
logReader.close();
}
- tempStartTimeMap.forEach((k, v) -> currentTsFileResource.updateTime(k, v));
- tempEndTimeMap.forEach((k, v) -> currentTsFileResource.updateTime(k, v));
+ tempStartTimeMap.forEach((k, v) -> currentTsFileResource.updateStartTime(k, v));
+ tempEndTimeMap.forEach((k, v) -> currentTsFileResource.updateEndTime(k, v));
}
private void replayDelete(DeletePlan deletePlan) throws IOException {
diff --git a/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java b/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java
index c6dc976..7c89818 100644
--- a/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java
+++ b/server/src/main/java/org/apache/iotdb/db/writelog/recover/TsFileRecoverPerformer.java
@@ -45,10 +45,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
/**
- * TsFileRecoverPerformer recovers a SeqTsFile to correct status, redoes the WALs since last
- * crash and removes the redone logs.
+ * TsFileRecoverPerformer recovers a SeqTsFile to correct status, redoes the WALs since last crash
+ * and removes the redone logs.
*/
public class TsFileRecoverPerformer {
+
private static final Logger logger = LoggerFactory.getLogger(TsFileRecoverPerformer.class);
private String insertFilePath;
@@ -103,17 +104,21 @@ public class TsFileRecoverPerformer {
tsFileResource.deSerialize();
} else {
// .resource file does not exist, read file metadata and recover tsfile resource
- try (TsFileSequenceReader reader = new TsFileSequenceReader(tsFileResource.getFile().getAbsolutePath())) {
+ try (TsFileSequenceReader reader = new TsFileSequenceReader(
+ tsFileResource.getFile().getAbsolutePath())) {
TsFileMetaData metaData = reader.readFileMetadata();
List<TsDeviceMetadataIndex> deviceMetadataIndexList = new ArrayList<>(
metaData.getDeviceMap().values());
for (TsDeviceMetadataIndex index : deviceMetadataIndexList) {
TsDeviceMetadata deviceMetadata = reader.readTsDeviceMetaData(index);
- List<ChunkGroupMetaData> chunkGroupMetaDataList = deviceMetadata.getChunkGroupMetaDataList();
+ List<ChunkGroupMetaData> chunkGroupMetaDataList = deviceMetadata
+ .getChunkGroupMetaDataList();
for (ChunkGroupMetaData chunkGroupMetaData : chunkGroupMetaDataList) {
for (ChunkMetaData chunkMetaData : chunkGroupMetaData.getChunkMetaDataList()) {
- tsFileResource.updateTime(chunkGroupMetaData.getDeviceID(), chunkMetaData.getStartTime());
- tsFileResource.updateTime(chunkGroupMetaData.getDeviceID(), chunkMetaData.getEndTime());
+ tsFileResource.updateStartTime(chunkGroupMetaData.getDeviceID(),
+ chunkMetaData.getStartTime());
+ tsFileResource
+ .updateEndTime(chunkGroupMetaData.getDeviceID(), chunkMetaData.getEndTime());
}
}
}
@@ -132,8 +137,10 @@ public class TsFileRecoverPerformer {
for (ChunkGroupMetaData chunkGroupMetaData : restorableTsFileIOWriter
.getChunkGroupMetaDatas()) {
for (ChunkMetaData chunkMetaData : chunkGroupMetaData.getChunkMetaDataList()) {
- tsFileResource.updateTime(chunkGroupMetaData.getDeviceID(), chunkMetaData.getStartTime());
- tsFileResource.updateTime(chunkGroupMetaData.getDeviceID(), chunkMetaData.getEndTime());
+ tsFileResource.updateStartTime(chunkGroupMetaData.getDeviceID(),
+ chunkMetaData.getStartTime());
+ tsFileResource
+ .updateEndTime(chunkGroupMetaData.getDeviceID(), chunkMetaData.getEndTime());
}
}
}