This is an automated email from the ASF dual-hosted git repository.

jt2594838 pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/iotdb.git


The following commit(s) were added to refs/heads/master by this push:
     new 491e392aca5 [Test] Fix WAL gap recovery assertions for lazy 
multi-writer replay (#18942)
491e392aca5 is described below

commit 491e392aca54f3a0069bbb62147984b98ff776c0
Author: Caideyipi <[email protected]>
AuthorDate: Wed Oct 21 10:30:57 2026 +0800

    [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
---
 .../consensus/ConsensusPrefetchingQueueWalBackpressureTest.java   | 8 +++++---
 1 file changed, 5 insertions(+), 3 deletions(-)

diff --git 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/subscription/broker/consensus/ConsensusPrefetchingQueueWalBackpressureTest.java
 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/subscription/broker/consensus/ConsensusPrefetchingQueueWalBackpressureTest.java
index 24d76d2d123..88474889ba7 100644
--- 
a/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/subscription/broker/consensus/ConsensusPrefetchingQueueWalBackpressureTest.java
+++ 
b/iotdb-core/datanode/src/test/java/org/apache/iotdb/db/subscription/broker/consensus/ConsensusPrefetchingQueueWalBackpressureTest.java
@@ -374,11 +374,13 @@ public class ConsensusPrefetchingQueueWalBackpressureTest 
{
               deliveredLocalSeq, 
event.getCommitContext().getWriterProgress().getLocalSeq());
           assertTrue(queue.ack("consumer", event.getCommitContext()));
         }
-        assertEquals(
-            followerBeforePending ? oneTabletBytes : 0L, 
memoryManager.getUsedMemorySizeInBytes());
+        // Ordered replay retains blocked writer heads as raw requests until 
they can be emitted.
+        assertEquals(0L, memoryManager.getUsedMemorySizeInBytes());
       }
       assertEquals(requestCount, deliveredLocalSeq);
       if (followerBeforePending) {
+        assertTrue(queue.getRetainedRequestBytes() > 0L);
+        assertEquals(queue.getRetainedRequestBytes(), 
requestMemoryBlock.getUsedMemoryInBytes());
         // The replicated writer's later timestamp lets local requests drain 
in order. Removing
         // the local writer then releases that final follower entry without 
reading it again.
         queue.setActiveWriterNodeIds(Collections.singleton(WRITER_NODE_ID + 
1));
@@ -412,7 +414,7 @@ public class ConsensusPrefetchingQueueWalBackpressureTest {
             missingWalGap
                 ? Arrays.asList(2L, 3L, 4L, 5L, 6L, 7L, 8L)
                 : (followerBeforePending
-                    ? Arrays.asList(1L, -1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L)
+                    ? Arrays.asList(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, -1L)
                     : Arrays.asList(1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L)),
             conversions);
       }

Reply via email to