From bada476cef4c108ee0920bc317b8c555514c9343 Mon Sep 17 00:00:00 2001 From: rdhabalia Date: Wed, 21 Sep 2016 20:17:49 -0700 Subject: [PATCH] While closing-topic: remove producer from set in separate thread than same set-iterator thread --- .../main/java/com/yahoo/pulsar/broker/service/Producer.java | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/service/Producer.java b/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/service/Producer.java index 65136763380c4..ffa1607275b49 100644 --- a/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/service/Producer.java +++ b/pulsar-broker/src/main/java/com/yahoo/pulsar/broker/service/Producer.java @@ -328,8 +328,10 @@ void closeNow() { public CompletableFuture disconnect() { if (!closeFuture.isDone()) { log.info("Disconnecting producer: {}", this); - cnx.closeProducer(this); - closeNow(); + cnx.ctx().executor().execute(() -> { + cnx.closeProducer(this); + closeNow(); + }); } return closeFuture; }