Skip to content

Commit 491e392

Browse files
authored
[Test] Fix WAL gap recovery assertions for lazy multi-writer replay (#18942)
* [Test] Align WAL replay and pipe permission assertions with runtime behavior * [Test] Keep existing pipe database-count expectations
1 parent ccbc71d commit 491e392

1 file changed

Lines changed: 5 additions & 3 deletions

File tree

‎iotdb-core/datanode/src/test/java/org/apache/iotdb/db/subscription/broker/consensus/ConsensusPrefetchingQueueWalBackpressureTest.java‎

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -374,11 +374,13 @@ private void assertWalGapRecoveryResumesRealtime(
374374
deliveredLocalSeq, event.getCommitContext().getWriterProgress().getLocalSeq());
375375
assertTrue(queue.ack("consumer", event.getCommitContext()));
376376
}
377-
assertEquals(
378-
followerBeforePending ? oneTabletBytes : 0L, memoryManager.getUsedMemorySizeInBytes());
377+
// Ordered replay retains blocked writer heads as raw requests until they can be emitted.
378+
assertEquals(0L, memoryManager.getUsedMemorySizeInBytes());
379379
}
380380
assertEquals(requestCount, deliveredLocalSeq);
381381
if (followerBeforePending) {
382+
assertTrue(queue.getRetainedRequestBytes() > 0L);
383+
assertEquals(queue.getRetainedRequestBytes(), requestMemoryBlock.getUsedMemoryInBytes());
382384
// The replicated writer's later timestamp lets local requests drain in order. Removing
383385
// the local writer then releases that final follower entry without reading it again.
384386
queue.setActiveWriterNodeIds(Collections.singleton(WRITER_NODE_ID + 1));
@@ -412,7 +414,7 @@ private void assertWalGapRecoveryResumesRealtime(
412414
missingWalGap
413415
? Arrays.asList(2L, 3L, 4L, 5L, 6L, 7L, 8L)
414416
: (followerBeforePending
415-
? Arrays.asList(1L, -1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L)
417+
? Arrays.asList(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, -1L)
416418
: Arrays.asList(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L)),
417419
conversions);
418420
}

0 commit comments

Comments
 (0)