codelipenghui commented on issue #6791:
URL: https://github.com/apache/pulsar/pull/6791#issuecomment-617632190


   @merlimat I'm working on fixing ordering dispatching for consumers adds and 
removes. This is issue #6554 for it and we have discussed in the slack channel 
https://apache-pulsar.slack.com/archives/C5Z4T36F7/p1585579082105200
   
   I want to introduce a concept named fenced range, the main idea is for do 
not block the whole dispatching task when consumers changed(especially add 
consumer). 
   
   The general approach is when a new consumer added, the split range becomes 
fenced. And every split range has a buffer(it's more like `messagesToRedeliver` 
in the dispatcher). The messages that dispatch to this range will add the 
buffer and do not dispatch to the consumer. When the owner consumer of the 
split range takes all messages of its receiver queue, the fenced range become 
un-fenced, so that we can redeliver these messages. Every fenced range has a 
fence timeout, this can be controlled by users. 
   
   I need to rethink how to leverage this idea on the consistent hashing 
approach. If you have any idea, please ping me, thanks.
   
   The PR looks good.


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

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


Reply via email to