rdhabalia opened a new pull request #10374:
URL: https://github.com/apache/pulsar/pull/10374
### Motivation
Incrementing partition for the topic requires creating new partitions with
existing subscriptions. Sometimes, partitions of the topic are distributed to
multiple brokers, and the creation of few partitions may fail due to various
reasons. However, retrying update-partition command for such topic fails with
the below error
```
Caused by:
org.apache.pulsar.client.admin.PulsarAdminException$ConflictException:
Subscription already exists for topic
at
org.apache.pulsar.client.admin.internal.BaseResource.getApiException(BaseResource.java:219)
~[classes/:?]
at
org.apache.pulsar.client.admin.internal.BaseResource$1.failed(BaseResource.java:129)
~[classes/:?]
at
org.glassfish.jersey.client.JerseyInvocation$1.failed(JerseyInvocation.java:839)
~[jersey-client-2.31.jar:?]
at
org.glassfish.jersey.client.JerseyInvocation$1.completed(JerseyInvocation.java:820)
~[jersey-client-2.31.jar:?]
at
org.glassfish.jersey.client.ClientRuntime.processResponse(ClientRuntime.java:229)
~[jersey-client-2.31.jar:?]
at
org.glassfish.jersey.client.ClientRuntime.access$200(ClientRuntime.java:62)
~[jersey-client-2.31.jar:?]
at
org.glassfish.jersey.client.ClientRuntime$2.lambda$response$0(ClientRuntime.java:173)
~[jersey-client-2.31.jar:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:248)
~[jersey-common-2.31.jar:?]
at org.glassfish.jersey.internal.Errors$1.call(Errors.java:244)
~[jersey-common-2.31.jar:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:292)
~[jersey-common-2.31.jar:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:274)
~[jersey-common-2.31.jar:?]
at org.glassfish.jersey.internal.Errors.process(Errors.java:244)
~[jersey-common-2.31.jar:?]
at
org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:288)
~[jersey-common-2.31.jar:?]
at
org.glassfish.jersey.client.ClientRuntime$2.response(ClientRuntime.java:173)
~[jersey-client-2.31.jar:?]
at
org.apache.pulsar.client.admin.internal.http.AsyncHttpConnector.lambda$0(AsyncHttpConnector.java:212)
~[classes/:?]
```
We frequently face this issue and need to manually update znode to fix the
issue and increment partitions of the topic.
### Modification
Handle `Subscription already exists for topic` error and create failed
partitions to successfully increment partitions. Provide `force` flag to handle
the error and successfully create partially created partitons.
--
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.
For queries about this service, please contact Infrastructure at:
[email protected]