From 76343d28d4c6ea62238cea1e0917bfa7a427026e Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Thu, 30 Jul 2026 18:03:26 +0800 Subject: [PATCH] Fix pipe idempotent IT setup synchronization --- .../manual/enhanced/IoTDBPipeIdempotentIT.java | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/enhanced/IoTDBPipeIdempotentIT.java b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/enhanced/IoTDBPipeIdempotentIT.java index 9094810670ca..db5aa687aa36 100644 --- a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/enhanced/IoTDBPipeIdempotentIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/manual/enhanced/IoTDBPipeIdempotentIT.java @@ -257,14 +257,20 @@ private void testTableConfigIdempotent(final List beforeSqlList, final S TestUtils.executeNonQueries( database, BaseEnv.TABLE_SQL_DIALECT, senderEnv, beforeSqlList, null); + // Config events are applied asynchronously. A database marker queued after the setup + // statements ensures their receiver-side preconditions are ready before creating the + // idempotent conflict. + TableModelUtils.createDatabase(senderEnv, "before_test"); + TableModelUtils.hasDataBase("before_test", receiverEnv); + TestUtils.executeNonQuery(database, BaseEnv.TABLE_SQL_DIALECT, receiverEnv, testSql, null); // Create an idempotent conflict TestUtils.executeNonQuery(database, BaseEnv.TABLE_SQL_DIALECT, senderEnv, testSql, null); - TableModelUtils.createDatabase(senderEnv, "test2"); + TableModelUtils.createDatabase(senderEnv, "after_test"); // Assume that the "database" is executed on receiverEnv - TestUtils.assertDataSizeEventuallyOnEnv(receiverEnv, "show databases", 3, null); + TestUtils.assertDataSizeEventuallyOnEnv(receiverEnv, "show databases", 4, null); } }