You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@iotdb.apache.org by ji...@apache.org on 2026/10/21 03:44:28 UTC

(iotdb) branch master updated: [Test] Speed up schema, pipe and subscription integration tests (#18943)

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

jt2594838 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 9ffa89327f8 [Test] Speed up schema, pipe and subscription integration tests (#18943)
9ffa89327f8 is described below

commit 9ffa89327f806ac22a7344fe9b844164072a3dc2
Author: Caideyipi <87...@users.noreply.github.com>
AuthorDate: Wed Oct 21 11:44:22 2026 +0800

    [Test] Speed up schema, pipe and subscription integration tests (#18943)
---
 .../db/it/schema/IoTDBAlterTimeSeriesTypeIT.java   | 91 +++++++++++-----------
 .../org/apache/iotdb/db/it/utils/TestUtils.java    | 14 ++--
 .../manual/enhanced/IoTDBPipeClusterIT.java        |  5 +-
 .../auto/enhanced/IoTDBPipeClusterIT.java          |  5 +-
 .../it/schema/IoTDBAlterColumnTypeIT.java          | 55 ++++++-------
 .../session/it/IoTDBSessionSchemaTemplateIT.java   | 26 +++++--
 .../it/IoTDBSubscriptionITConstant.java            |  3 +-
 7 files changed, 109 insertions(+), 90 deletions(-)

diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAlterTimeSeriesTypeIT.java b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAlterTimeSeriesTypeIT.java
index 969ab28fd7a..8737df331d9 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAlterTimeSeriesTypeIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/schema/IoTDBAlterTimeSeriesTypeIT.java
@@ -375,12 +375,14 @@ public class IoTDBAlterTimeSeriesTypeIT {
               Collections.singletonList("s1"),
               Collections.singletonList(from),
               Collections.singletonList(ColumnCategory.FIELD));
+      // Batch fixture writes without crossing data type changes or flush boundaries.
       for (int i = 1; i <= 512; i++) {
-        tablet.addTimestamp(0, i);
-        tablet.addValue("s1", 0, genValue(from, i));
-        session.insertTablet(tablet);
-        tablet.reset();
+        int rowIndex = tablet.getRowSize();
+        tablet.addTimestamp(rowIndex, i);
+        tablet.addValue("s1", rowIndex, genValue(from, i));
       }
+      session.insertTablet(tablet);
+      tablet.reset();
       session.executeNonQueryStatement("FLUSH");
 
       // alter the type to "to"
@@ -413,11 +415,12 @@ public class IoTDBAlterTimeSeriesTypeIT {
               Collections.singletonList(to),
               Collections.singletonList(ColumnCategory.FIELD));
       for (int i = 513; i <= 1024; i++) {
-        tablet.addTimestamp(0, i);
-        tablet.addValue("s1", 0, genValue(to, i));
-        session.insertTablet(tablet);
-        tablet.reset();
+        int rowIndex = tablet.getRowSize();
+        tablet.addTimestamp(rowIndex, i);
+        tablet.addValue("s1", rowIndex, genValue(to, i));
       }
+      session.insertTablet(tablet);
+      tablet.reset();
       session.executeNonQueryStatement("FLUSH");
 
       standardAccumulatorQueryByTimeOnlyInvolveOldDataTypeTest(session, from, to);
@@ -1186,23 +1189,23 @@ public class IoTDBAlterTimeSeriesTypeIT {
       //      session.executeNonQueryStatement("FLUSH");
       for (int i = 1; i <= 512; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
 
       session.executeNonQueryStatement("FLUSH");
 
       for (int i = 513; i <= 1024; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
 
       String columns;
       if (UNSUPPORT_MIN_AND_MAX_QUERY_DATA_TYPE_LIST.contains(from)
@@ -1323,23 +1326,23 @@ public class IoTDBAlterTimeSeriesTypeIT {
       //      session.executeNonQueryStatement("FLUSH");
       for (int i = 1; i <= 512; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
 
       session.executeNonQueryStatement("FLUSH");
 
       for (int i = 513; i <= 1024; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
 
       String columns;
       if (UNSUPPORT_MIN_AND_MAX_QUERY_DATA_TYPE_LIST.contains(from)
@@ -1452,23 +1455,23 @@ public class IoTDBAlterTimeSeriesTypeIT {
 
       for (int i = 513; i <= 1024; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
 
       session.executeNonQueryStatement("FLUSH");
 
       for (int i = 1; i <= 512; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
       //        session.executeNonQueryStatement("FLUSH");
 
       String columns;
@@ -1585,23 +1588,23 @@ public class IoTDBAlterTimeSeriesTypeIT {
 
       for (int i = 513; i <= 1024; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
 
       session.executeNonQueryStatement("FLUSH");
 
       for (int i = 1; i <= 512; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
       //        session.executeNonQueryStatement("FLUSH");
 
       String columns;
@@ -1715,23 +1718,23 @@ public class IoTDBAlterTimeSeriesTypeIT {
 
       for (int i = 513; i <= 1024; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
 
       session.executeNonQueryStatement("FLUSH");
 
       for (int i = 1; i <= 520; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
       //        session.executeNonQueryStatement("FLUSH");
 
       String columns;
@@ -1849,23 +1852,23 @@ public class IoTDBAlterTimeSeriesTypeIT {
 
       for (int i = 513; i <= 1024; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
 
       session.executeNonQueryStatement("FLUSH");
 
       for (int i = 1; i <= 520; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insertTablet(tablet);
-        tablet.reset();
       }
+      session.insertTablet(tablet);
+      tablet.reset();
       //        session.executeNonQueryStatement("FLUSH");
 
       String columns;
diff --git a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java
index 79a2f1c9847..5eb22c598e0 100644
--- a/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java
+++ b/integration-test/src/test/java/org/apache/iotdb/db/it/utils/TestUtils.java
@@ -1697,7 +1697,7 @@ public class TestUtils {
       // Keep retrying if there are execution failures
       await()
           .pollInSameThread()
-          .pollDelay(1L, TimeUnit.SECONDS)
+          .pollDelay(0L, TimeUnit.SECONDS)
           .pollInterval(1L, TimeUnit.SECONDS)
           .atMost(timeoutSeconds, TimeUnit.SECONDS)
           .untilAsserted(
@@ -1741,7 +1741,7 @@ public class TestUtils {
       // Keep retrying if there are execution failures
       await()
           .pollInSameThread()
-          .pollDelay(1L, TimeUnit.SECONDS)
+          .pollDelay(0L, TimeUnit.SECONDS)
           .pollInterval(1L, TimeUnit.SECONDS)
           .atMost(timeoutSeconds, TimeUnit.SECONDS)
           .untilAsserted(
@@ -1777,7 +1777,7 @@ public class TestUtils {
       // Keep retrying if there are execution failures
       await()
           .pollInSameThread()
-          .pollDelay(1L, TimeUnit.SECONDS)
+          .pollDelay(0L, TimeUnit.SECONDS)
           .pollInterval(1L, TimeUnit.SECONDS)
           .atMost(timeoutSeconds, TimeUnit.SECONDS)
           .untilAsserted(
@@ -1821,7 +1821,7 @@ public class TestUtils {
       // Keep retrying if there are execution failures
       await()
           .pollInSameThread()
-          .pollDelay(1L, TimeUnit.SECONDS)
+          .pollDelay(0L, TimeUnit.SECONDS)
           .pollInterval(1L, TimeUnit.SECONDS)
           .atMost(timeoutSeconds, TimeUnit.SECONDS)
           .untilAsserted(
@@ -1902,7 +1902,7 @@ public class TestUtils {
       // Keep retrying if there are execution failures
       await()
           .pollInSameThread()
-          .pollDelay(1L, TimeUnit.SECONDS)
+          .pollDelay(0L, TimeUnit.SECONDS)
           .pollInterval(1L, TimeUnit.SECONDS)
           .atMost(timeoutSeconds, TimeUnit.SECONDS)
           .untilAsserted(
@@ -1983,7 +1983,7 @@ public class TestUtils {
       // Keep retrying if there are execution failures
       await()
           .pollInSameThread()
-          .pollDelay(1L, TimeUnit.SECONDS)
+          .pollDelay(0L, TimeUnit.SECONDS)
           .pollInterval(1L, TimeUnit.SECONDS)
           .atMost(timeoutSeconds, TimeUnit.SECONDS)
           .untilAsserted(
@@ -2027,7 +2027,7 @@ public class TestUtils {
       // Keep retrying if there are execution failures
       await()
           .pollInSameThread()
-          .pollDelay(1L, TimeUnit.SECONDS)
+          .pollDelay(0L, TimeUnit.SECONDS)
           .pollInterval(1L, TimeUnit.SECONDS)
           .atMost(timeoutSeconds, TimeUnit.SECONDS)
           .untilAsserted(
diff --git a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/enhanced/IoTDBPipeClusterIT.java b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/enhanced/IoTDBPipeClusterIT.java
index cde83cc4da6..1e3961bd61a 100644
--- a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/enhanced/IoTDBPipeClusterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/enhanced/IoTDBPipeClusterIT.java
@@ -165,9 +165,8 @@ public class IoTDBPipeClusterIT extends AbstractPipeTableModelDualManualIT {
 
       TableModelUtils.assertCountData("test", "test", 1, receiverEnv);
       receiverEnv.getDataNodeWrapper(0).stop();
-
-      // Ensure that the kill -9 operation is completed
-      Thread.sleep(5000);
+      // stop() waits for process exit; verify it succeeded before checking failover.
+      Assert.assertFalse(receiverEnv.getDataNodeWrapper(0).isAlive());
       TableModelUtils.insertData("test", "test", 1, 2, senderEnv);
     } catch (Exception e) {
       fail(e.getMessage());
diff --git a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/auto/enhanced/IoTDBPipeClusterIT.java b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/auto/enhanced/IoTDBPipeClusterIT.java
index b64a43fc04d..f17f63214cf 100644
--- a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/auto/enhanced/IoTDBPipeClusterIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/auto/enhanced/IoTDBPipeClusterIT.java
@@ -175,9 +175,8 @@ public class IoTDBPipeClusterIT extends AbstractPipeDualTreeModelAutoIT {
       Assert.assertEquals(TSStatusCode.SUCCESS_STATUS.getStatusCode(), status.getCode());
 
       receiverEnv.getDataNodeWrapper(0).stop();
-
-      // Ensure that the kill -9 operation is completed
-      Thread.sleep(5000);
+      // stop() waits for process exit; verify it succeeded before checking failover.
+      Assert.assertFalse(receiverEnv.getDataNodeWrapper(0).isAlive());
       for (DataNodeWrapper nodeWrapper : receiverEnv.getDataNodeWrapperList()) {
         if (!nodeWrapper.isAlive()) {
           continue;
diff --git a/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBAlterColumnTypeIT.java b/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBAlterColumnTypeIT.java
index d9a1f617b02..00c3df4f390 100644
--- a/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBAlterColumnTypeIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/relational/it/schema/IoTDBAlterColumnTypeIT.java
@@ -341,12 +341,14 @@ public class IoTDBAlterColumnTypeIT {
               Collections.singletonList("s1"),
               Collections.singletonList(from),
               Collections.singletonList(ColumnCategory.FIELD));
+      // Batch fixture writes without crossing data type changes or flush boundaries.
       for (int i = 1; i <= 512; i++) {
-        tablet.addTimestamp(0, i);
-        tablet.addValue("s1", 0, genValue(from, i));
-        session.insert(tablet);
-        tablet.reset();
+        int rowIndex = tablet.getRowSize();
+        tablet.addTimestamp(rowIndex, i);
+        tablet.addValue("s1", rowIndex, genValue(from, i));
       }
+      session.insert(tablet);
+      tablet.reset();
       session.executeNonQueryStatement("FLUSH");
 
       // alter the type to "to"
@@ -373,11 +375,12 @@ public class IoTDBAlterColumnTypeIT {
               Collections.singletonList(to),
               Collections.singletonList(ColumnCategory.FIELD));
       for (int i = 513; i <= 1024; i++) {
-        tablet.addTimestamp(0, i);
-        tablet.addValue("s1", 0, genValue(to, i));
-        session.insert(tablet);
-        tablet.reset();
+        int rowIndex = tablet.getRowSize();
+        tablet.addTimestamp(rowIndex, i);
+        tablet.addValue("s1", rowIndex, genValue(to, i));
       }
+      session.insert(tablet);
+      tablet.reset();
       session.executeNonQueryStatement("FLUSH");
 
       standardAccumulatorQueryByTimeOnlyInvolveOldDataTypeTest(session, from, to);
@@ -1365,23 +1368,23 @@ public class IoTDBAlterColumnTypeIT {
       //      session.executeNonQueryStatement("FLUSH");
       for (int i = 1; i <= 512; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insert(tablet);
-        tablet.reset();
       }
+      session.insert(tablet);
+      tablet.reset();
 
       session.executeNonQueryStatement("FLUSH");
 
       for (int i = 513; i <= 1024; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insert(tablet);
-        tablet.reset();
       }
+      session.insert(tablet);
+      tablet.reset();
 
       SessionDataSet dataSet =
           session.executeQueryStatement(
@@ -1467,23 +1470,23 @@ public class IoTDBAlterColumnTypeIT {
 
       for (int i = 513; i <= 1024; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insert(tablet);
-        tablet.reset();
       }
+      session.insert(tablet);
+      tablet.reset();
 
       session.executeNonQueryStatement("FLUSH");
 
       for (int i = 1; i <= 512; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insert(tablet);
-        tablet.reset();
       }
+      session.insert(tablet);
+      tablet.reset();
       //        session.executeNonQueryStatement("FLUSH");
 
       SessionDataSet dataSet =
@@ -1572,23 +1575,23 @@ public class IoTDBAlterColumnTypeIT {
 
       for (int i = 513; i <= 1024; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insert(tablet);
-        tablet.reset();
       }
+      session.insert(tablet);
+      tablet.reset();
 
       session.executeNonQueryStatement("FLUSH");
 
       for (int i = 1; i <= 520; i++) {
         int rowIndex = tablet.getRowSize();
-        tablet.addTimestamp(0, i);
+        tablet.addTimestamp(rowIndex, i);
         tablet.addValue("s1", rowIndex, genValue(from, i));
         tablet.addValue("s2", rowIndex, genValue(from, i * 2));
-        session.insert(tablet);
-        tablet.reset();
       }
+      session.insert(tablet);
+      tablet.reset();
       //        session.executeNonQueryStatement("FLUSH");
 
       SessionDataSet dataSet =
diff --git a/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionSchemaTemplateIT.java b/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionSchemaTemplateIT.java
index ef7bffdb9f0..f994e65163d 100644
--- a/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionSchemaTemplateIT.java
+++ b/integration-test/src/test/java/org/apache/iotdb/session/it/IoTDBSessionSchemaTemplateIT.java
@@ -41,6 +41,7 @@ import org.junit.Assert;
 import org.junit.Before;
 import org.junit.Test;
 import org.junit.experimental.categories.Category;
+import org.junit.runners.Parameterized;
 
 import java.io.IOException;
 import java.util.ArrayList;
@@ -63,20 +64,33 @@ public class IoTDBSessionSchemaTemplateIT extends AbstractSchemaIT {
     super(schemaTestMode);
   }
 
+  // Keep one cluster per schema engine mode, and clear its schema between test methods.
+  @Parameterized.BeforeParam
+  public static void before() throws Exception {
+    setUpEnvironment();
+    EnvFactory.getEnv().initClusterEnvironment();
+  }
+
+  @Parameterized.AfterParam
+  public static void after() throws Exception {
+    EnvFactory.getEnv().cleanClusterEnvironment();
+    tearDownEnvironment();
+  }
+
   @Before
   public void setUp() throws Exception {
-    setUpEnvironmentBeforeMethod();
-    EnvFactory.getEnv().initClusterEnvironment();
     session = EnvFactory.getEnv().getSessionConnection();
   }
 
   @After
   public void tearDown() throws Exception {
-    if (session != null) {
-      session.close();
+    try {
+      if (session != null) {
+        session.close();
+      }
+    } finally {
+      clearSchema();
     }
-    EnvFactory.getEnv().cleanClusterEnvironment();
-    tearDownEnvironment();
   }
 
   @Test
diff --git a/integration-test/src/test/java/org/apache/iotdb/subscription/it/IoTDBSubscriptionITConstant.java b/integration-test/src/test/java/org/apache/iotdb/subscription/it/IoTDBSubscriptionITConstant.java
index 3162139fb66..6c7eb061789 100644
--- a/integration-test/src/test/java/org/apache/iotdb/subscription/it/IoTDBSubscriptionITConstant.java
+++ b/integration-test/src/test/java/org/apache/iotdb/subscription/it/IoTDBSubscriptionITConstant.java
@@ -31,7 +31,8 @@ import java.util.function.Consumer;
 
 public class IoTDBSubscriptionITConstant {
 
-  private static final long AWAITILITY_POLL_DELAY_SECOND = 1L;
+  // Conditions may already hold when the assertion starts; only wait between retries.
+  private static final long AWAITILITY_POLL_DELAY_SECOND = 0L;
   private static final long AWAITILITY_POLL_INTERVAL_SECOND = 1L;
   private static final long AWAITILITY_AT_MOST_SECOND = 600L;