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());
     }
   }