-
Notifications
You must be signed in to change notification settings - Fork 3.6k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[pulsar-broker] Introduce tenant based bookie isolation #3933
Conversation
rerun java8 tests |
rerun java8 tests |
1 similar comment
rerun java8 tests |
rerun java8 tests |
rerun cpp tests |
2e274eb
to
04b68e9
Compare
@merlimat can you please review this as we want to use it for our bookie isolation usecase. |
39f7afa
to
79f56db
Compare
rerun integration tests |
@merlimat can you please review this PR, we want to use it for 2.4 release. |
fix tests add admin cli fix test
rerun integration tests |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
👍
Motivation
Right now, broker has capability to set bookie isolation at broker level. Using which we can make broker to write into specific set of bookies by creating isolation group.
However, broker doesn't have capability to do bookie isolation based on tenant and We need tenant based bookie isolation because of multiple reasons : eg: performance and dedicated resource allocation.
Modification
Right now, user can setup rack-aware policy-group info for available bookies and user can also setup isolation group and take leverage of ZkIsolatedBookieEnsemblePlacementPolicy.
With this change:
broker can manage multiple
EnsemblePlacementPolicy
based on managed-ledger configurationuser can setup
bookie-isolation group
at namespace level../pulsar-admin namespaces set-bookie-affinity-group <namespace> --group isolated-group
if bookie-isolation group is defined for a namespace then broker will use
ZkIsolatedBookieEnsemblePlacementPolicy
with givenbookie-isolation group
and all writes for this namespace's topics will be written to isolated bookiesResult