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

xyz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/pulsar-client-cpp.git


The following commit(s) were added to refs/heads/main by this push:
     new 4360500  Change return code of MultiTopicsConsumerImpl::closeAsync 
after unsubscribe or close (#413)
4360500 is described below

commit 436050092930b3eca73883cc7623f8cebf08f636
Author: Masahiro Sakamoto <[email protected]>
AuthorDate: Mon Mar 11 15:46:13 2024 +0900

    Change return code of MultiTopicsConsumerImpl::closeAsync after unsubscribe 
or close (#413)
    
    Fixes #88
    
    ### Motivation
    
    https://github.com/apache/pulsar-client-cpp/pull/338 fixed 
`ConsumerImpl::closeAsync` so that closing after it was already closed or 
unsubscribed returns `ResultOk` instead of `ResultAlreadyClosed`. However, 
`MultiTopicsConsumerImpl::closeAsync` still returns `ResultAlreadyClosed`. This 
seems to be a change omission.
---
 lib/MultiTopicsConsumerImpl.cc | 4 ++--
 tests/BasicEndToEndTest.cc     | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/lib/MultiTopicsConsumerImpl.cc b/lib/MultiTopicsConsumerImpl.cc
index a0854cf..1484785 100644
--- a/lib/MultiTopicsConsumerImpl.cc
+++ b/lib/MultiTopicsConsumerImpl.cc
@@ -475,7 +475,7 @@ void MultiTopicsConsumerImpl::closeAsync(ResultCallback 
originalCallback) {
     };
     const auto state = state_.load();
     if (state == Closing || state == Closed) {
-        callback(ResultAlreadyClosed);
+        callback(ResultOk);
         return;
     }
 
@@ -488,7 +488,7 @@ void MultiTopicsConsumerImpl::closeAsync(ResultCallback 
originalCallback) {
     if (consumers.empty()) {
         LOG_DEBUG("TopicsConsumer have no consumers to close "
                   << " topic" << topic() << " subscription - " << 
subscriptionName_);
-        callback(ResultAlreadyClosed);
+        callback(ResultOk);
         return;
     }
 
diff --git a/tests/BasicEndToEndTest.cc b/tests/BasicEndToEndTest.cc
index 5dbccbf..42c072a 100644
--- a/tests/BasicEndToEndTest.cc
+++ b/tests/BasicEndToEndTest.cc
@@ -1694,7 +1694,7 @@ TEST(BasicEndToEndTest, testSeekOnPartitionedTopic) {
     ASSERT_EQ(expected.str(), msgReceived.getDataAsString());
     ASSERT_EQ(ResultOk, consumer.acknowledge(msgReceived));
     ASSERT_EQ(ResultOk, consumer.unsubscribe());
-    ASSERT_EQ(ResultAlreadyClosed, consumer.close());
+    ASSERT_EQ(ResultOk, consumer.close());
     ASSERT_EQ(ResultOk, producer.close());
     ASSERT_EQ(ResultOk, client.close());
 }

Reply via email to