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]


Reply via email to