michaeljmarshall opened a new issue, #16454:
URL: https://github.com/apache/pulsar/issues/16454
**Describe the bug**
When starting several brokers concurrently, there is a risk that one will
fail with the following error:
```
2022-06-27T16:23:42,169+0000 [main] ERROR
org.apache.pulsar.broker.PulsarService - Failed to start Pulsar service:
org.apache.pulsar.metadata.api.MetadataStoreException$BadVersionException:
org.apache.zookeeper.KeeperException$BadVersionException: KeeperErrorCode =
BadVersion for /counters/producer-name
java.util.concurrent.ExecutionException:
org.apache.pulsar.metadata.api.MetadataStoreException$BadVersionException:
org.apache.zookeeper.KeeperException$BadVersionException: KeeperErrorCode =
BadVersion for /counters/producer-name
at
java.util.concurrent.CompletableFuture.reportGet(CompletableFuture.java:395)
~[?:?]
at
java.util.concurrent.CompletableFuture.get(CompletableFuture.java:1999) ~[?:?]
at
org.apache.pulsar.broker.service.DistributedIdGenerator.<init>(DistributedIdGenerator.java:54)
~[com.datastax.oss-pulsar-broker-2.10.0.6.jar:2.10.0.6]
at
org.apache.pulsar.broker.service.BrokerService.start(BrokerService.java:460)
~[com.datastax.oss-pulsar-broker-2.10.0.6.jar:2.10.0.
```
The key problem is
`org.apache.pulsar.metadata.api.MetadataStoreException$BadVersionException:
org.apache.zookeeper.KeeperException$BadVersionException: KeeperErrorCode =
BadVersion for /counters/producer-name`, and in looking at the
`/counters/producer-name` initialization, I can see that it does not handle
retries in the event of a `BadVersion` error.
**Expected behavior**
Because it is common to start several brokers at the same time, I think the
broker should retry when it attempts to get the producer name counter.
**Additional context**
This is on the DataStax build of pulsar 2.10. plus some commits. In looking
at the code in `DistributedIdGenerator`, there are no relevant differences.
--
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.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]