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(