From 9ecd5165b2de787a38a720d1606bc437003f1738 Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Fri, 26 Sep 2025 11:32:21 +0800 Subject: [PATCH 1/4] fix --- .../metadata/fetcher/TableDeviceSchemaValidator.java | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaValidator.java b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaValidator.java index b50a875d7b08..ec0ade6857d4 100644 --- a/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaValidator.java +++ b/iotdb-core/datanode/src/main/java/org/apache/iotdb/db/queryengine/plan/relational/metadata/fetcher/TableDeviceSchemaValidator.java @@ -19,7 +19,7 @@ package org.apache.iotdb.db.queryengine.plan.relational.metadata.fetcher; -import org.apache.iotdb.commons.exception.IoTDBException; +import org.apache.iotdb.commons.exception.IoTDBRuntimeException; import org.apache.iotdb.db.conf.IoTDBConfig; import org.apache.iotdb.db.conf.IoTDBDescriptor; import org.apache.iotdb.db.protocol.session.SessionManager; @@ -247,9 +247,8 @@ private void autoCreateOrUpdateDeviceSchema( Long.MAX_VALUE, false); if (executionResult.status.getCode() != TSStatusCode.SUCCESS_STATUS.getStatusCode()) { - throw new RuntimeException( - new IoTDBException( - executionResult.status.getMessage(), executionResult.status.getCode())); + throw new IoTDBRuntimeException( + executionResult.status.getMessage(), executionResult.status.getCode()); } } From 4d6449d3bf838a0ba5e67769a1e87df156ef40c0 Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Fri, 26 Sep 2025 11:52:18 +0800 Subject: [PATCH 2/4] Fix --- .../it/dual/tablemodel/TableModelUtils.java | 21 +++++++++++++++++-- .../manual/enhanced/IoTDBPipeClusterIT.java | 9 +++++--- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/TableModelUtils.java b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/TableModelUtils.java index 265548d80ccd..ec121e900ca3 100644 --- a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/TableModelUtils.java +++ b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/TableModelUtils.java @@ -21,6 +21,7 @@ import org.apache.iotdb.db.it.utils.TestUtils; import org.apache.iotdb.isession.ITableSession; +import org.apache.iotdb.isession.SessionConfig; import org.apache.iotdb.isession.pool.ITableSessionPool; import org.apache.iotdb.it.env.cluster.node.DataNodeWrapper; import org.apache.iotdb.itbase.env.BaseEnv; @@ -98,11 +99,21 @@ public static void createDatabase(final BaseEnv baseEnv, final String database, } } - public static void insertData( + public static boolean insertData( + final String dataBaseName, + final String tableName, + final int startInclusive, + final int endExclusive, + final BaseEnv baseEnv) { + return insertData(dataBaseName, tableName, startInclusive, endExclusive, false, baseEnv); + } + + public static boolean insertData( final String dataBaseName, final String tableName, final int startInclusive, final int endExclusive, + final boolean trial, final BaseEnv baseEnv) { List list = new ArrayList<>(endExclusive - startInclusive + 1); for (int i = startInclusive; i < endExclusive; ++i) { @@ -112,7 +123,13 @@ public static void insertData( tableName, i, i, i, i, i, i, i, i, i, i, getDateStr(i), i, i)); } list.add("flush"); - TestUtils.executeNonQueries(dataBaseName, BaseEnv.TABLE_SQL_DIALECT, baseEnv, list, null); + if (!trial) { + TestUtils.executeNonQueries(dataBaseName, BaseEnv.TABLE_SQL_DIALECT, baseEnv, list, null); + return true; + } else { + return TestUtils.tryExecuteNonQueriesWithRetry( + baseEnv, list, SessionConfig.DEFAULT_USER, SessionConfig.DEFAULT_PASSWORD, null); + } } public static void insertData( 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 2e8eca84adf7..4de276b47519 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 @@ -335,9 +335,12 @@ public void testPipeAfterDataRegionLeaderStop() throws Exception { fail(); } - TableModelUtils.insertData("test", "test", 200, 300, senderEnv); - - TableModelUtils.insertData("test1", "test1", 200, 300, senderEnv); + // The without unknown check may randomly fail, and may cause insertion failure + // Directly return here because the problem has nothing to do with pipe + if (!TableModelUtils.insertData("test", "test", 200, 300, senderEnv) + || !TableModelUtils.insertData("test1", "test1", 200, 300, senderEnv)) { + return; + } TableModelUtils.assertData("test", "test", 0, 300, receiverEnv, handleFailure); } From a794d8c669101d8a015ef7eef726a2856715bd66 Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Fri, 26 Sep 2025 11:58:57 +0800 Subject: [PATCH 3/4] fix --- .../dual/tablemodel/manual/enhanced/IoTDBPipeClusterIT.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) 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 4de276b47519..ab72c727f869 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 @@ -337,8 +337,8 @@ public void testPipeAfterDataRegionLeaderStop() throws Exception { // The without unknown check may randomly fail, and may cause insertion failure // Directly return here because the problem has nothing to do with pipe - if (!TableModelUtils.insertData("test", "test", 200, 300, senderEnv) - || !TableModelUtils.insertData("test1", "test1", 200, 300, senderEnv)) { + if (!TableModelUtils.insertData("test", "test", 200, 300, true, senderEnv) + || !TableModelUtils.insertData("test1", "test1", 200, 300, true, senderEnv)) { return; } From a17ddbb9030f37e534f30701486a04d9a7fd31e1 Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Fri, 26 Sep 2025 11:59:58 +0800 Subject: [PATCH 4/4] fix --- .../iotdb/pipe/it/dual/tablemodel/TableModelUtils.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/TableModelUtils.java b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/TableModelUtils.java index ec121e900ca3..9edbc5cab5ff 100644 --- a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/TableModelUtils.java +++ b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/tablemodel/TableModelUtils.java @@ -128,7 +128,13 @@ public static boolean insertData( return true; } else { return TestUtils.tryExecuteNonQueriesWithRetry( - baseEnv, list, SessionConfig.DEFAULT_USER, SessionConfig.DEFAULT_PASSWORD, null); + baseEnv, + list, + SessionConfig.DEFAULT_USER, + SessionConfig.DEFAULT_PASSWORD, + dataBaseName, + BaseEnv.TABLE_SQL_DIALECT, + null); } }