From 35d408ad28b6b48670488eb52fff9070a96f5613 Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Mon, 9 Nov 2026 10:53:31 +0800 Subject: [PATCH] Fix WALNode outdated file deletion test (#17921) (cherry picked from commit 3ec7ab105ff6ad55a201a1cf708933f0c93c15e2) --- .../dataregion/wal/node/WALNodeTest.java | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNodeTest.java b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNodeTest.java index df88c34ee0eb6..661675d9688e7 100644 --- a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNodeTest.java +++ b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/storageengine/dataregion/wal/node/WALNodeTest.java @@ -263,9 +263,7 @@ public void testConcurrentCheckpoint() throws Exception { @Test public void testDeleteOutdatedFiles() throws Exception { - List walFlushListeners = new ArrayList<>(); - // write until log is rolled - long time = 0; + // write data to make the first WAL file non-empty IMemTable memTable = new PrimitiveMemTable(databasePath, dataRegionId); long memTableId = memTable.getMemTableId(); String tsFilePath = @@ -283,15 +281,13 @@ public void testDeleteOutdatedFiles() throws Exception { .setDataRegion( new DataRegionId(1), new DataRegionTest.DummyDataRegion(logDirectory, databasePath)); walNode.onMemTableCreated(memTable, tsFilePath); - while (time < 20000) { - ++time; + for (long time = 1; time <= 100; ++time) { InsertTabletNode insertTabletNode = getInsertTabletNode(devicePath + memTableId, new long[] {time}); - WALFlushListener walFlushListener = - walNode.log(memTableId, insertTabletNode, 0, insertTabletNode.getRowCount()); - walFlushListeners.add(walFlushListener); + walNode.log(memTableId, insertTabletNode, 0, insertTabletNode.getRowCount()); } walNode.onMemTableFlushed(memTable); + walNode.rollWALFile(); walNode.onMemTableCreated(new PrimitiveMemTable(databasePath, dataRegionId), tsFilePath); Awaitility.await().until(() -> walNode.isAllWALEntriesConsumed()); // check existence of _0-0-0.wal file and _1-0-1.wal file