lhotari commented on code in PR #23583:
URL: https://github.com/apache/pulsar/pull/23583#discussion_r1836209589


##########
pip/pip-392.md:
##########
@@ -0,0 +1,43 @@
+# PIP-392: Add configuration to enable consistent hashing to select active 
consumer for partitioned topic
+
+# Background knowledge
+
+After [#19502](https://github.com/apache/pulsar/pull/19502) will use 
consistent hashing to select active consumer for non-partitioned topic
+
+# Motivation
+
+Currently, for partitioned topics, the active consumer is selected using the 
formula [partitionedIndex % 
consumerSize](https://github.com/apache/pulsar/blob/137df29f85798b00de75460a1acb91c7bc25453f/pulsar-broker/src/main/java/org/apache/pulsar/broker/service/AbstractDispatcherSingleActiveConsumer.java#L129-L130).
 
+This method can lead to uneven distribution of active consumers.
+
+Consider a scenario with 100 topics named `public/default/topic-{0~100}`, each 
having `one partition`. 
+If 10 consumers are created using a `regex` subscription with the `Failover 
type`, all topic will be assigned to the same consumer(the first connected 
consumer). This results in an imbalanced distribution of consumers.
+
+# Goals
+Introduce a configuration option to enable consistent hashing for selecting 
active consumers in partitioned topics with the Failover subscription type.
+
+
+# High Level Design
+The solution involves adding a configuration setting that allows users to 
enable consistent hashing for partitioned topics.
+When enabled, the consumer selection process will use consistent hashing 
instead of the modulo operation, leading to a more even distribution of active 
consumers.

Review Comment:
   Also describe why and how the leads to more even distribution of active 
consumers. 
   What is the expected accuracy of the balancing? What factors impact 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