From 0ae1aaae291ec292d362f5fe52f14ff1f421a7df Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Mon, 25 May 2026 14:46:31 +0800 Subject: [PATCH] Fix flaky pipe auto split IT --- .../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 53ab9181a95a3..97e183468367f 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 void testSingleEnv() throws Exception { final List 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 void testSingleEnv() throws Exception { final List 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 void testSingleEnv() throws Exception { "Time,root.test.device.field,", Collections.singleton("1,2.0,")); } + + private void assertAutoSplitResult( + final List 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"))); + } }