From 286e82743d9f4e4be53f2065d8ee67089ccafe4a Mon Sep 17 00:00:00 2001 From: Caideyipi <87789683+Caideyipi@users.noreply.github.com> Date: Thu, 11 Jun 2026 19:16:22 +0800 Subject: [PATCH] Fix WALNode outdated file deletion test --- .../dataregion/wal/node/WALNodeTest.java | 18 +++++++----------- 1 file changed, 7 insertions(+), 11 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 e3d1efb4edd19..58411bdc9afd8 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 @@ -332,9 +332,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 = @@ -352,18 +350,16 @@ 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, - Collections.singletonList(new int[] {0, insertTabletNode.getRowCount()})); - walFlushListeners.add(walFlushListener); + walNode.log( + memTableId, + insertTabletNode, + Collections.singletonList(new int[] {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