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

jt2594838 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 03aac23b2ae Stabilize bidirectional pipe template conflict IT (#19016) 
(#19027)
03aac23b2ae is described below

commit 03aac23b2aea5eda0065c40ecb1b73a72f853e0b
Author: Caideyipi <[email protected]>
AuthorDate: Tue Oct 27 14:38:47 2026 +0800

    Stabilize bidirectional pipe template conflict IT (#19016) (#19027)
    
    (cherry picked from commit 788de1882cd21336b81ca4451b90f9289d9cfc25)
---
 .../iotdb/pipe/it/autocreate/IoTDBPipeAutoConflictIT.java | 15 ++++++++++++++-
 1 file changed, 14 insertions(+), 1 deletion(-)

diff --git 
a/integration-test/src/test/java/org/apache/iotdb/pipe/it/autocreate/IoTDBPipeAutoConflictIT.java
 
b/integration-test/src/test/java/org/apache/iotdb/pipe/it/autocreate/IoTDBPipeAutoConflictIT.java
index 9c678915e32..6685ca91415 100644
--- 
a/integration-test/src/test/java/org/apache/iotdb/pipe/it/autocreate/IoTDBPipeAutoConflictIT.java
+++ 
b/integration-test/src/test/java/org/apache/iotdb/pipe/it/autocreate/IoTDBPipeAutoConflictIT.java
@@ -275,12 +275,25 @@ public class IoTDBPipeAutoConflictIT extends 
AbstractPipeDualAutoIT {
             "set device template t1 to root.db"),
         null);
 
+    // Prevent receiver writes from creating ordinary timeseries before the 
template binding
+    // arrives.
+    TestUtils.assertDataEventuallyOnEnv(
+        receiverEnv,
+        "show paths set device template t1",
+        "Paths,",
+        Collections.singleton("root.db,"));
+
     for (int i = 0; i < 200; ++i) {
       TestUtils.executeNonQuery(
           senderEnv, String.format("insert into root.db.d1(time,s1) values 
(%s,1)", i), null);
     }
 
-    for (int i = 200; i < 400; ++i) {
+    // SHOW PATHS can expose a pre-set binding before the DataNodes can use 
the template.
+    // Retry the first idempotent write until the receiver can activate and 
extend the template.
+    TestUtils.executeNonQueryWithRetry(
+        receiverEnv, "insert into root.db.d1(time, s1) values (200, 1)");
+
+    for (int i = 201; i < 400; ++i) {
       TestUtils.executeNonQuery(
           receiverEnv, String.format("insert into root.db.d1(time,s1) values 
(%s,1)", i), null);
     }

Reply via email to