Thanks to visit codestin.com
Credit goes to github.com

Skip to content

PIP-119: Enable consistent hashing by default on KeyShared dispatcher #13305

@merlimat

Description

@merlimat

Motivation

The consistent hashing implementation to uniformly assign keys to consumers
in the context of a KeyShared subscription, was introduced in
#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:

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

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions