This message was deleted.
# general
s
This message was deleted.
j
One of my colleagues tried defining persistence when the
public/tracking
namespace is created and sees the same error
s
Are you mounting the local disk? There is a possibility that your disk usage is above 90% and bookies will be turned into readonly. So you will not have enough bookie to write.
j
You mean container volumes? I've tried both with and without volumes defined for the /pulsar/data/zookeeper and /pulsar/data/bookkeeper. If disk usage were the issue and not configuration, wouldn't the error be
Copy code
Not enough bookies to create ledger with ensembleSize=1, writeQuorumSize=1 and ackQuorumSize=1
Rather than 2 /2 / 2? My issue seems to be I'm unable to work out how to override
ensembleSize
,
writeQuorumSize
and
ackQuorumSize
. I'm going round in circles a bit in the code (pulsar & bookkeeper) trying to work out how/where the values in
QuorumConfigProvider
, which is used by
SimpleLedgerAllocator
, are set since they clearly don't come from
Copy code
- managedLedgerDefaultEnsembleSize=1
      - managedLedgerDefaultWriteQuorum=1
      - managedLedgerDefaultAckQuorum=1
I've got as far as
DistributedLogConfiguration
but I'm now a bit lost as to whether that's BK server config or BK client.
Same colleague has now found the cause (🙌 @Brent Evans) . Ensemble/Quorum settings in the worker
DistributedLogConfiguration
are set using function_workers
numFunctionPackageReplicas
, which defaults to 2. Broker ledger defaults are not considered. Setting this to 1 fixes the issue, function is created without errors. https://github.com/apache/pulsar/blob/7636e8989f4d3fc24fce69a356d54e1c550945ed/pul[…]c/main/java/org/apache/pulsar/functions/worker/WorkerUtils.java
👍 1