You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ju...@apache.org on 2026/09/02 07:47:22 UTC

(iotdb) branch codex/fix-pipe-tsfile-mods-race created (now aaad6f2a59c)

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

Caideyipi pushed a change to branch codex/fix-pipe-tsfile-mods-race
in repository https://gitbox.apache.org/repos/asf/iotdb.git


      at aaad6f2a59c Stabilize pipe TsFile decomposition mods IT

This branch includes the following new commits:

     new aaad6f2a59c Stabilize pipe TsFile decomposition mods IT

The 1 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(iotdb) 01/01: Stabilize pipe TsFile decomposition mods IT

Posted by ju...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

Caideyipi pushed a commit to branch codex/fix-pipe-tsfile-mods-race
in repository https://gitbox.apache.org/repos/asf/iotdb.git

commit aaad6f2a59c75d57b5adfabaf4ef69ecf61e3f0c
Author: Caideyipi <87...@users.noreply.github.com>
AuthorDate: Wed Sep 2 15:46:15 2026 +0800

    Stabilize pipe TsFile decomposition mods IT
---
 .../IoTDBPipeTsFileDecompositionWithModsIT.java    | 45 ++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/basic/IoTDBPipeTsFileDecompositionWithModsIT.java b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/basic/IoTDBPipeTsFileDecompositionWithModsIT.java
index 04e3e38167a..d010513b481 100644
--- a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/basic/IoTDBPipeTsFileDecompositionWithModsIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/basic/IoTDBPipeTsFileDecompositionWithModsIT.java
@@ -21,6 +21,7 @@ package org.apache.iotdb.pipe.it.dual.tablemodel.manual.basic;
 
 import org.apache.iotdb.db.it.utils.TestUtils;
 import org.apache.iotdb.isession.SessionConfig;
+import org.apache.iotdb.it.env.cluster.node.DataNodeWrapper;
 import org.apache.iotdb.it.framework.IoTDBTestRunner;
 import org.apache.iotdb.itbase.category.MultiClusterIT2DualTableManualBasic;
 import org.apache.iotdb.itbase.env.BaseEnv;
@@ -148,6 +149,50 @@ public class IoTDBPipeTsFileDecompositionWithModsIT extends AbstractPipeTableMod
         Collections.emptySet(),
         "sg1");
 
+    // Wait until the deletion mods are visible through every sender endpoint before creating the
+    // pipe. Historical extraction may otherwise read a source TsFile from a stale region leader.
+    for (DataNodeWrapper dataNode : senderEnv.getDataNodeWrapperList()) {
+      TestUtils.assertDataEventuallyOnEnv(
+          senderEnv,
+          dataNode,
+          "SELECT COUNT(*) as count FROM table1 WHERE s0 ='t10' AND s1='t10' AND s2='t10' AND s3='t10'",
+          "count,",
+          Collections.singleton("1000,"),
+          "sg2");
+
+      TestUtils.assertDataEventuallyOnEnv(
+          senderEnv,
+          dataNode,
+          "SELECT COUNT(*) as count FROM table1 WHERE s0 ='t11' AND s1='t11' AND s2='t11' AND s3='t11'",
+          "count,",
+          Collections.singleton("0,"),
+          "sg2");
+
+      TestUtils.assertDataEventuallyOnEnv(
+          senderEnv,
+          dataNode,
+          "SELECT COUNT(*) as count FROM table1 WHERE s0 ='t12' AND s1='t12' AND s2='t12' AND s3='t12'",
+          "count,",
+          Collections.singleton("5900,"),
+          "sg2");
+
+      TestUtils.assertDataEventuallyOnEnv(
+          senderEnv,
+          dataNode,
+          "SELECT COUNT(*) as count FROM table1 WHERE s0 ='t13' AND s1='t13' AND s2='t13' AND s3='t13'",
+          "count,",
+          Collections.singleton("1000,"),
+          "sg2");
+
+      TestUtils.assertDataEventuallyOnEnv(
+          senderEnv,
+          dataNode,
+          "SELECT COUNT(*) as count FROM table1 WHERE s0 ='t14' AND s1='t14' AND s2='t14' AND s3='t14'",
+          "count,",
+          Collections.singleton("10000,"),
+          "sg2");
+    }
+
     executeNonQueryWithRetry(
         senderEnv,
         String.format(