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]