You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by GitBox <gi...@apache.org> on 2020/04/22 08:28:42 UTC

[GitHub] [pulsar] codelipenghui commented on issue #6791: Use consistent hashing in KeyShared distribution

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:
users@infra.apache.org