GitHub user benjumanji edited a discussion: region aware ensemble placement (e=3,w=3,a=2) can't create new ledgers.
I have the following config (shortened for brevity) on pulsar 4.0.1 ``` bookkeeperClientRegionawarePolicyEnabled=true reppRegionsToWrite=euw1-az3;euw1-az1;euw1-az2 reppMinimumRegionsForDurability=2 ``` I have at least three bookies. If I try the aforementioned policy (e3,w3,a2) then the exception here: https://github.com/apache/bookkeeper/blob/0748423e3228f7cf61d2e1f2ab11e354ed84c0df/bookkeeper-server/src/main/java/org/apache/bookkeeper/client/RegionAwareEnsemblePlacementPolicy.java#L317 is thrown. <img width="1210" alt="Screenshot 2025-01-30 at 21 01 17" src="https://github.com/user-attachments/assets/001a603c-32ce-4d1f-aba9-fea20dd17032" /> This makes little sense to me as `2 <= 3 - 3/2` evaluates to true, but I am failing to see _why_ this is a bad configuration. ``` // We must survive the failure of numRegions - effectiveMinRegionsForDurability. When these // regions have failed we would spread the replicas over the remaining // effectiveMinRegionsForDurability regions; we have to make sure that the ack quorum is large // enough such that there is a configuration for spreading the replicas across // effectiveMinRegionsForDurability - 1 regions ``` Ok so I have 3 regions, and I want 2 for durability. I therefore can only tolerate 1 region failing. If that region fails I have two regions, and I require two acks. Is the point that I need to have two acks _without_ closing the ledger and making a new one? Because assuming one of the acking ledgers was in the failed region, all new writes would fail, why not just close the ledger etc etc. I guess in a three region cluster I must have (e4,w4,a3), and then I can survive one region, and guarantee that given that there was an acker in each region, then I can continue writing with a region down, and no ledger reconfiguration. Is that right? Any thoughts? GitHub link: https://github.com/apache/pulsar/discussions/23913 ---- This is an automatically sent email for [email protected]. To unsubscribe, please send an email to: [email protected]
