You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@pulsar.apache.org by si...@apache.org on 2019/01/07 08:46:45 UTC

[pulsar] branch master updated: Issue 3226: Unclosed consumer after calling closeAsync

This is an automated email from the ASF dual-hosted git repository.

sijie pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/pulsar.git


The following commit(s) were added to refs/heads/master by this push:
     new 719eab8  Issue 3226: Unclosed consumer after calling closeAsync
719eab8 is described below

commit 719eab8a039b4533bc0ab13a3ffb530bf261ddb3
Author: legendtkl <ta...@gmail.com>
AuthorDate: Mon Jan 7 16:46:39 2019 +0800

    Issue 3226: Unclosed consumer after calling closeAsync
    
    Fixes #3226
---
 .../src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java     | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
index df65361..648afb8 100644
--- a/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
+++ b/pulsar-client/src/main/java/org/apache/pulsar/client/impl/ConsumerImpl.java
@@ -268,12 +268,12 @@ public class ConsumerImpl<T> extends ConsumerBase<T> implements ConnectionHandle
                 }
                 client.cleanupConsumer(ConsumerImpl.this);
                 log.info("[{}][{}] Successfully unsubscribed from topic", topic, subscription);
-                unsubscribeFuture.complete(null);
                 setState(State.Closed);
+                unsubscribeFuture.complete(null);
             }).exceptionally(e -> {
                 log.error("[{}][{}] Failed to unsubscribe: {}", topic, subscription, e.getCause().getMessage());
-                unsubscribeFuture.completeExceptionally(e.getCause());
                 setState(State.Ready);
+                unsubscribeFuture.completeExceptionally(e.getCause());
                 return null;
             });
         } else {