This is an automated email from the ASF dual-hosted git repository. Caideyipi pushed a commit to branch sync_from_iotdb_master_20260528 in repository https://gitbox.apache.org/repos/asf/iotdb.git
commit f0a369cb8919719bc256cc0a334fa557ecd6d611 Author: Caideyipi <[email protected]> AuthorDate: Wed May 27 15:49:42 2026 +0800 Fix flaky pipe auto split IT (#17756) --- .../treemodel/auto/basic/IoTDBPipeAutoSplitIT.java | 30 ++++++++++++++-------- 1 file changed, 20 insertions(+), 10 deletions(-) diff --git a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/auto/basic/IoTDBPipeAutoSplitIT.java b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/auto/basic/IoTDBPipeAutoSplitIT.java index 53ab9181a95..97e18346836 100644 --- a/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/auto/basic/IoTDBPipeAutoSplitIT.java +++ b/integration-test/src/test/java/org/apache/iotdb/pipe/it/dual/treemodel/auto/basic/IoTDBPipeAutoSplitIT.java @@ -99,12 +99,7 @@ public class IoTDBPipeAutoSplitIT extends AbstractPipeDualTreeModelAutoIT { final List<TShowPipeInfo> showPipeResult = client.showPipe(new TShowPipeReq().setUserName(SessionConfig.DEFAULT_USER)).pipeInfoList; showPipeResult.removeIf(i -> i.getId().startsWith("__consensus")); - Assert.assertEquals(2, showPipeResult.size()); - Assert.assertTrue( - (Objects.equals(showPipeResult.get(0).id, "a2b_history") - && Objects.equals(showPipeResult.get(1).id, "a2b_realtime")) - || (Objects.equals(showPipeResult.get(1).id, "a2b_history") - && Objects.equals(showPipeResult.get(0).id, "a2b_realtime"))); + assertAutoSplitResult(showPipeResult, "a2b"); } // Do not split for pipes without insertion or non-full @@ -149,10 +144,11 @@ public class IoTDBPipeAutoSplitIT extends AbstractPipeDualTreeModelAutoIT { final List<TShowPipeInfo> showPipeResult = client.showPipe(new TShowPipeReq().setUserName(SessionConfig.DEFAULT_USER)).pipeInfoList; showPipeResult.removeIf(i -> i.getId().startsWith("__consensus")); - Assert.assertTrue( - showPipeResult.stream() - .filter(i -> Objects.equals(i.id, "a2b_history")) - .anyMatch(i -> i.pipeConnector.contains("enable-send-tsfile-limit=false"))); + assertAutoSplitResult(showPipeResult, "a2b"); + showPipeResult.stream() + .filter(i -> Objects.equals(i.id, "a2b_history")) + .forEach( + i -> Assert.assertTrue(i.pipeConnector.contains("enable-send-tsfile-limit=false"))); } TestUtils.assertDataEventuallyOnEnv( @@ -161,4 +157,18 @@ public class IoTDBPipeAutoSplitIT extends AbstractPipeDualTreeModelAutoIT { "Time,root.test.device.field,", Collections.singleton("1,2.0,")); } + + private void assertAutoSplitResult( + final List<TShowPipeInfo> showPipeResult, final String pipeName) { + // The history pipe may have already been auto-dropped after snapshot transfer completes. + Assert.assertTrue( + showPipeResult.stream().anyMatch(i -> Objects.equals(i.id, pipeName + "_realtime"))); + Assert.assertFalse(showPipeResult.stream().anyMatch(i -> Objects.equals(i.id, pipeName))); + Assert.assertTrue( + showPipeResult.stream() + .allMatch( + i -> + Objects.equals(i.id, pipeName + "_history") + || Objects.equals(i.id, pipeName + "_realtime"))); + } }
