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. I have two bookies, they can both ack, what's the problem? 
Why is 4/4/3 good and 3/3/2 bad? If the argument is that the initial placements 
might be 2 in one region and 1 in another, why doesn't this apply to 4/4/3 (3 
in one region and one in another)? If we plug in 3/3/2, then we need to survive 
3 - 2 failures (1), and we need to make sure acks cover 2 - 1 (1) regions? Why 
does _3_ acks + _4_ writes fulfil this and _2_ acks and _3_ writers not?

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]

Reply via email to