Technoboy- opened a new pull request #12583:
URL: https://github.com/apache/pulsar/pull/12583


   ### Motivation
   We are having frequent issues when user removes cluster from the global 
namespace where broker from removed-cluster fails to unload topic and namespace 
bundle still loaded with the broker. It happens when broker from 
removed-cluster receives below error
   ```
   17:38:52.199 [pulsar-io-22-28] ERROR 
org.apache.pulsar.broker.service.persistent.PersistentReplicator - 
[persistent://prop/global/ns/tp1][east -> west] Failed to close dispatch rate 
limiter: org.apache.pulsar.client.api.PulsarClientException: Producer was not 
registered on the connection
   :
   17:38:52.199 [pulsar-io-22-28] WARN  
org.apache.pulsar.broker.service.AbstractReplicator - 
[persistent://prop/global/ns/tp1][east -> west]] Exception: 
'org.apache.pulsar.client.api.PulsarClientException: Producer was not 
registered on the connection' occured while trying to close the producer. 
retrying again in 0.1 s
   :
   17:38:52.351 [pulsar-io-22-37] ERROR 
org.apache.pulsar.broker.service.persistent.PersistentTopic - 
[persistent://prop/global/ns/tp1] Error closing topic
   java.util.concurrent.CompletionException: 
org.apache.pulsar.client.api.PulsarClientException: Producer was not registered 
on the connection
           at 
java.util.concurrent.CompletableFuture.encodeThrowable(CompletableFuture.java:331)
 ~[?:?]
   ```
   
   ### Modification
   Source Broker should return explicit error-code when producer is already 
closed and dest-broker from removed-cluster should handle this error and clean 
up the replicator and topic gracefully.


-- 
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]


Reply via email to