xdkxlk commented on PR #6682:
URL: https://github.com/apache/rocketmq/pull/6682#issuecomment-1537000449

   > > Pop retry message has already been notified in 
PopReviveService#reviveRetry
   > > ```
   > > brokerController.getPopMessageProcessor().notifyMessageArriving(
   > >     KeyBuilder.parseNormalTopic(popCheckPoint.getTopic(), 
popCheckPoint.getCId()),
   > >     popCheckPoint.getCId(),
   > >     -1
   > > );
   > > brokerController.getNotificationProcessor().notifyMessageArriving(
   > >     KeyBuilder.parseNormalTopic(popCheckPoint.getTopic(), 
popCheckPoint.getCId()), -1);
   > > ```
   > 
   > In `PopReviveService#reviveRetry`, it only notifies consumers who 
subscribe for all queues (queue ID is -1).
   > 
   > But in the case which `popShareQueueNum >= consumerNum - 1`, the consumer 
will only subscribe to some of the queues.
   > 
   > 
https://github.com/apache/rocketmq/blob/6f6032e9eb812d42a67bea3cdb02cf4ef6e7f6c3/broker/src/main/java/org/apache/rocketmq/broker/processor/QueryAssignmentProcessor.java#L236-L270
   > 
   > 
   > In this case, pollingMap only contains polling requests of specific 
queues, and notifying -1 queueID will not wake up the polling requests.
   > 
![image](https://user-images.githubusercontent.com/10664298/236371473-69353f1a-a1bc-4e2d-aefa-f56414346d6d.png)
   > The polling requests will finally be waked up until they reach the 
expiration time.
   
   Got it


-- 
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