Technoboy- opened a new pull request, #18462:
URL: https://github.com/apache/pulsar/pull/18462

   ### Motivation
   
   https://github.com/apache/pulsar/pull/17318 has made 
`internalRedeliverUnacknowledgedMessages` executed by `internalPinnedExecutor`.
   
   If the consumer received msg then call `redeliverUnacknowledgedMessages` 
like the below :
   ```
   consumer.receiveAsync()      // using internalPinnedExecutor thread
                   .thenCompose(m -> {
                       return consumer.acknowledgeCumulativeAsync(m);
                   })
                   .thenAccept(ignore -> {
                       try {
                           consumer.redeliverUnacknowledgedMessages(); // still 
the same internalPinnedExecutor thread, it will be blocked
                       } catch (Exception e) {
                           throw new RuntimeException(e);
                       }
                   })
   ```
   
   
https://github.com/apache/pulsar/blob/dcf0b6069b7dcdf29be94cc341bfdc2785977114/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java#L1915-L1921
   
   
https://github.com/apache/pulsar/blob/dcf0b6069b7dcdf29be94cc341bfdc2785977114/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java#L1861-L1911
   
   
   ### Modification
   - Remove using `internalPinnedExecutor` to execute 
`internalRedeliverUnacknowledgedMessages`.
   
   
   ### Documentation
   
   <!-- DO NOT REMOVE THIS SECTION. CHECK THE PROPER BOX ONLY. -->
   
   - [ ] `doc` <!-- Your PR contains doc changes. Please attach the local 
preview screenshots (run `sh start.sh` at `pulsar/site2/website`) to your PR 
description, or else your PR might not get merged. -->
   - [ ] `doc-required` <!-- Your PR changes impact docs and you will update 
later -->
   - [x] `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