Jason918 commented on a change in pull request #13196:
URL: https://github.com/apache/pulsar/pull/13196#discussion_r766293227



##########
File path: 
pulsar-broker/src/main/java/org/apache/pulsar/broker/service/persistent/PersistentTopic.java
##########
@@ -804,6 +804,16 @@ protected void handleProducerRemoved(Producer producer) {
                 if (ex.getCause() instanceof ConsumerBusyException) {
                     log.warn("[{}][{}] Consumer {} {} already connected", 
topic, subscriptionName, consumerId,
                             consumerName);
+                    Consumer consumer = null;
+                    try {
+                        consumer = subscriptionFuture.isDone() ? 
getActiveConsumer(subscriptionFuture.get()) : null;
+                        // cleanup consumer if connection is already closed
+                        if (consumer != null && !consumer.cnx().isActive()) {
+                            consumer.close();
+                        }
+                    } catch (Exception be) {
+                        log.info("Failed to clean up consumer on closed 
connection {}, {}", consumer, be.getMessage());

Review comment:
       I just want to make sure that if it's an exception goes here, the 
problem you mentioned won't occur,
   as "subsequent consumer creation requests are keep failing" is totally worth 
to be an error.




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