This is an automated email from the ASF dual-hosted git repository.

justinchen pushed a commit to branch dev/1.3
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/dev/1.3 by this push:
     new eb361524f4f [To dev/1.3] Pipe: Fix DataNodeShutdownHook waiting report 
logic and add capture history file log (#15952) (#15951)
eb361524f4f is described below

commit eb361524f4f6a1a6180495410eab838da8be8a82
Author: Zhenyu Luo <[email protected]>
AuthorDate: Wed Jul 16 14:35:16 2025 +0800

    [To dev/1.3] Pipe: Fix DataNodeShutdownHook waiting report logic and add 
capture history file log (#15952) (#15951)
    
    * Pipe:Fix DataNodeShutdownHook waiting report logic and add capture 
history file log
    
    * update log
---
 .../PipeHistoricalDataRegionTsFileExtractor.java          | 15 +++++++++++++--
 .../org/apache/iotdb/db/service/DataNodeShutdownHook.java |  2 +-
 2 files changed, 14 insertions(+), 3 deletions(-)

diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/dataregion/historical/PipeHistoricalDataRegionTsFileExtractor.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/dataregion/historical/PipeHistoricalDataRegionTsFileExtractor.java
index c1c4893ae8a..25759654a5b 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/dataregion/historical/PipeHistoricalDataRegionTsFileExtractor.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/pipe/extractor/dataregion/historical/PipeHistoricalDataRegionTsFileExtractor.java
@@ -473,8 +473,19 @@ public class PipeHistoricalDataRegionTsFileExtractor 
implements PipeHistoricalDa
     if (startIndex instanceof StateProgressIndex) {
       startIndex = ((StateProgressIndex) startIndex).getInnerProgressIndex();
     }
-    return !startIndex.isAfter(resource.getMaxProgressIndex())
-        && !startIndex.equals(resource.getMaxProgressIndex());
+
+    if (!startIndex.isAfter(resource.getMaxProgressIndex())
+        && !startIndex.equals(resource.getMaxProgressIndex())) {
+      LOGGER.info(
+          "Pipe {}@{}: file {} meets mayTsFileContainUnprocessedData 
condition, extractor progressIndex: {}, resource ProgressIndex: {}",
+          pipeName,
+          dataRegionId,
+          resource.getTsFilePath(),
+          startIndex,
+          resource.getMaxProgressIndex());
+      return true;
+    }
+    return false;
   }
 
   private boolean mayTsFileResourceOverlappedWithPattern(final TsFileResource 
resource) {
diff --git 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNodeShutdownHook.java
 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNodeShutdownHook.java
index 5b62a0d614c..1a6af1cf9b0 100644
--- 
a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNodeShutdownHook.java
+++ 
b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/service/DataNodeShutdownHook.java
@@ -97,7 +97,7 @@ public class DataNodeShutdownHook extends Thread {
           
PipeDataNodeSinglePipeMetrics.getInstance().remainingEventAndTimeOperatorMap.entrySet())
 {
         boolean timeout = false;
         while (true) {
-          if (entry.getValue().getRemainingNonHeartbeatEvents() > 0) {
+          if (entry.getValue().getRemainingNonHeartbeatEvents() == 0) {
             logger.info(
                 "Successfully waited for pipe {} to finish.", 
entry.getValue().getPipeName());
             break;

Reply via email to