You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by qi...@apache.org on 2021/07/13 10:00:30 UTC
[iotdb] 02/02: add some resource insert log
This is an automated email from the ASF dual-hosted git repository.
qiaojialin pushed a commit to branch resource_debug
in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit efc5c8420bd0ecc04f81652eb4384ebdb431ba87
Author: qiaojialin <64...@qq.com>
AuthorDate: Tue Jul 13 17:35:47 2021 +0800
add some resource insert log
---
.../db/engine/storagegroup/StorageGroupProcessor.java | 4 ++++
.../iotdb/db/engine/storagegroup/TsFileProcessor.java | 15 +++++++++++++++
.../iotdb/db/writelog/node/ExclusiveWriteLogNode.java | 5 +----
.../iotdb/tsfile/file/metadata/statistics/Statistics.java | 6 +++---
4 files changed, 23 insertions(+), 7 deletions(-)
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 d7b83fc..7d0e5ad 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
@@ -890,6 +890,10 @@ public class StorageGroupProcessor {
}
try {
+ if (!config.isEnablePartition() && start != 0) {
+ logger.error("start index in InsertTabletPlan != 0");
+ System.exit(1);
+ }
tsFileProcessor.insertTablet(insertTabletPlan, start, end, results);
} catch (WriteProcessRejectException e) {
logger.warn("insert to TsFileProcessor rejected, {}", e.getMessage());
diff --git a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
index 422d78d..e175027 100644
--- a/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
+++ b/server/src/main/java/org/apache/iotdb/db/engine/storagegroup/TsFileProcessor.java
@@ -811,6 +811,21 @@ public class TsFileProcessor {
private void endFile() throws IOException, TsFileProcessorException {
long closeStartTime = System.currentTimeMillis();
+
+ Map<String, List<ChunkMetadata>> deviceChunkMetadatas = writer.getDeviceChunkMetadataMap();
+
+ for (String device: tsFileResource.deviceToIndex.keySet()) {
+ long startTimeInResource = tsFileResource.getStartTime(device);
+ List<ChunkMetadata> chunkMetadatas = deviceChunkMetadatas.get(device);
+ for (ChunkMetadata chunkMetadata: chunkMetadatas) {
+ if (chunkMetadata.getStartTime() < startTimeInResource) {
+ logger.error("chunkMetadata's startTime: {} < startTimeInResource: {}",
+ chunkMetadata.getStartTime(), startTimeInResource);
+ System.exit(1);
+ }
+ }
+ }
+
tsFileResource.serialize();
writer.endFile();
tsFileResource.cleanCloseFlag();
diff --git a/server/src/main/java/org/apache/iotdb/db/writelog/node/ExclusiveWriteLogNode.java b/server/src/main/java/org/apache/iotdb/db/writelog/node/ExclusiveWriteLogNode.java
index 680ac65..326c2bc 100644
--- a/server/src/main/java/org/apache/iotdb/db/writelog/node/ExclusiveWriteLogNode.java
+++ b/server/src/main/java/org/apache/iotdb/db/writelog/node/ExclusiveWriteLogNode.java
@@ -80,16 +80,13 @@ public class ExclusiveWriteLogNode implements WriteLogNode, Comparable<Exclusive
}
@Override
- public void write(PhysicalPlan plan) throws IOException {
+ public void write(PhysicalPlan plan) {
lock.writeLock().lock();
try {
putLog(plan);
if (bufferedLogNum >= config.getFlushWalThreshold()) {
sync();
}
- } catch (BufferOverflowException e) {
- throw new IOException(
- "Log cannot fit into the buffer, please increase wal_buffer_size", e);
} finally {
lock.writeLock().unlock();
}
diff --git a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
index 7a31494..9e56c4d 100644
--- a/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
+++ b/tsfile/src/main/java/org/apache/iotdb/tsfile/file/metadata/statistics/Statistics.java
@@ -165,7 +165,7 @@ public abstract class Statistics<T> {
* @throws StatisticsClassException cannot merge statistics
*/
public void mergeStatistics(Statistics stats) {
- if (this.getClass() == stats.getClass()) {
+ if (this.getType() == stats.getType()) {
if (stats.startTime < this.startTime) {
this.startTime = stats.startTime;
}
@@ -179,8 +179,8 @@ public abstract class Statistics<T> {
} else {
String thisClass = this.getClass().toString();
String statsClass = stats.getClass().toString();
- LOG.warn("Statistics classes mismatched,no merge: {} v.s. {}", thisClass, statsClass);
-
+ LOG.error("Statistics datatype mismatched,no merge: {} v.s. {}", thisClass, statsClass);
+ System.exit(1);
throw new StatisticsClassException(this.getClass(), stats.getClass());
}
}