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 2019/03/28 21:30:23 UTC

[GitHub] [pulsar] rdhabalia opened a new pull request #3933: [pulsar-broker] Introduce tenant based bookie isolation

rdhabalia opened a new pull request #3933: [pulsar-broker] Introduce tenant based bookie isolation
URL: https://github.com/apache/pulsar/pull/3933
 
 
   ### 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](https://github.com/apache/pulsar/blob/master/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/ZkIsolatedBookieEnsemblePlacementPolicy.java). 
   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](https://github.com/apache/pulsar/blob/master/pulsar-zookeeper-utils/src/main/java/org/apache/pulsar/zookeeper/ZkIsolatedBookieEnsemblePlacementPolicy.java).
   
   With this change:
   - broker can manage multiple `EnsemblePlacementPolicy` based on managed-ledger configuration
   - user 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 given `bookie-isolation group` and all writes for this namespace's topics will be written to isolated bookies 
   
   ### Result
   - it will not impact existing behavior but by setting bookie-affinity-group user can isolate set of bookies for a given namespace.

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


With regards,
Apache Git Services