blob: 7a72585dd4f76d69f25942ed790c883590194a40 [file] [log] [blame] [view]
# PIP-119: Enable consistent hashing by default on KeyShared dispatcher
The consistent hashing implementation to uniformly assign keys to consumers
in the context of a KeyShared subscription, was introduced in
https://github.com/apache/pulsar/pull/6791, which was released in Pulsar 2.6.0.
While consistent hashing can use slightly more memory in certain cases, it is
more suitable as a general default implementation, as it leads to a fairer
distribution of keys across consumers, and avoiding corner cases that depend
on the sequence of addition/removal of consumers.
## Proposed changes
In 2.10 release, for the setting:
```properties
# On KeyShared subscriptions, with default AUTO_SPLIT mode, use splitting ranges or
# consistent hashing to reassign keys to new consumers
subscriptionKeySharedUseConsistentHashing=false
```
Change its default value to `true`.
The `AUTO_SPLIT` mode will not be removed nor deprecated. Users will still be
able to use the old implementation.