• M
    Add bookkeeperClientMinNumRacksPerWriteQuorum,... · 7b5301d9
    Michal Koziorowski 提交于
    Add bookkeeperClientMinNumRacksPerWriteQuorum, bookkeeperClientEnforceMinNumRacksPerWriteQuorum conf options (#7977)
    
    Added bookkeeperClientMinNumRacksPerWriteQuorum and bookkeeperClientEnforceMinNumRacksPerWriteQuorum to be able to configure rack and region aware bookie selection policy more precisely.
    
    Motivation
    We have Apache Pulsar setup running on Azure in 3 different Availability Zones (2 bookkeepers per zone). We wanted to store copy of each pulsar message in all that AZs. After configuring rack aware bookie selection policy, we found that messages are usually stored only in 2 AZs. After digging, we've found that it's caused by default bookeeper client minNumRacksPerWriteQuorum=2 setting. We've added bookkeeperClientMinNumRacksPerWriteQuorum and also bookkeeperClientEnforceMinNumRacksPerWriteQuorum to be able to configure this behaviour.
    
    Modifications
    Added bookkeeperClientMinNumRacksPerWriteQuorum and bookkeeperClientEnforceMinNumRacksPerWriteQuorum configuration option, modified tests, config files and documentation.
    
    Verifying this change
    We've updated existing unit tests, deployed modified pulsar docker image on AKS kubernetes cluster using helm charts and checked that stored messages were written always to bookkeepers in all AZs.
    
    
    * Added `bookkeeperClientMinNumRacksPerWriteQuorum` and `bookkeeperClientEnforceMinNumRacksPerWriteQuorum` broker configuration options to be able set `minNumRacksPerWriteQuorum` and `enforceMinNumRacksPerWriteQuorum` bookkeeper client options.
    
    * Reverted accidental change in ServiceConfigurationTest.
    Co-authored-by: NMichal Koziorowski <Michal.Koziorowski@tomtom.com>
    7b5301d9
reference-configuration.md 54.4 KB