zjxxzjwang opened a new pull request, #25120:
URL: https://github.com/apache/pulsar/pull/25120

   
   
   ### Motivation
   
   <!-- Explain here the context, and why you're making that change. What is 
the problem you're trying to solve. -->
   1、A message is split into chunk0, chunk1, and chunk2. When chunk0 is 
unexpectedly lost, the current code logic will endlessly deliver chunk1 and 
chunk2 to redeliveryMessages, causing the entire subscription to become blocked.
   
   2、When a chunk message corresponds to a producer whose availablePermits 
remain below zero for an extended period, that chunk message will also be 
endlessly delivered to the “redeliveryMessages” queue, similarly causing the 
entire subscription to become blocked.
   
   ### Modifications
   
   <!-- Describe the modifications you've done. -->
   
   1、In the event of chunk0 being unexpectedly lost, chunk1 and chunk2 messages 
are directly acknowledged and logged without blocking the entire subscription.
   
   2、When sending each chunk of the same message, the availablePermits of the 
consumer corresponding to that chunk message are no longer checked, ensuring 
normal delivery.
   
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [ ] `doc` <!-- Your PR contains doc changes. -->
   - [ ] `doc-required` <!-- Your PR changes impact docs and you will update 
later -->
   - [ ] `doc-not-needed` <!-- Your PR changes do not impact docs -->
   - [ ] `doc-complete` <!-- Docs have been already added -->
   
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to