This is an automated email from the ASF dual-hosted git repository.
dinglei pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-client-go.git
The following commit(s) were added to refs/heads/master by this push:
new 43edd17 [ISSUE #884]fix goroutine leak (#885)
43edd17 is described below
commit 43edd175a6df2e9d71d04450bc80247db37cbb7e
Author: Nick <[email protected]>
AuthorDate: Sat Aug 6 09:02:18 2022 +0800
[ISSUE #884]fix goroutine leak (#885)
* [ISSUE #884]fix goroutine leak
* mock UnregisterConsumer
---
consumer/push_consumer.go | 2 +-
consumer/push_consumer_test.go | 4 +++-
2 files changed, 4 insertions(+), 2 deletions(-)
diff --git a/consumer/push_consumer.go b/consumer/push_consumer.go
index d723519..a5884d8 100644
--- a/consumer/push_consumer.go
+++ b/consumer/push_consumer.go
@@ -225,7 +225,7 @@ func (pc *pushConsumer) Start() error {
for k := range pc.subscribedTopic {
_, exist := pc.topicSubscribeInfoTable.Load(k)
if !exist {
- pc.client.Shutdown()
+ pc.Shutdown()
return fmt.Errorf("the topic=%s route info not found,
it may not exist", k)
}
}
diff --git a/consumer/push_consumer_test.go b/consumer/push_consumer_test.go
index 78bc1f7..70779e5 100644
--- a/consumer/push_consumer_test.go
+++ b/consumer/push_consumer_test.go
@@ -19,9 +19,10 @@ package consumer
import (
"context"
- "github.com/apache/rocketmq-client-go/v2/rlog"
"testing"
+ "github.com/apache/rocketmq-client-go/v2/rlog"
+
"github.com/apache/rocketmq-client-go/v2/internal"
"github.com/apache/rocketmq-client-go/v2/primitive"
"github.com/golang/mock/gomock"
@@ -80,6 +81,7 @@ func TestStart(t *testing.T) {
Convey("test topic route info not found", func() {
client.EXPECT().Shutdown().Return()
+
client.EXPECT().UnregisterConsumer(gomock.Any()).Return()
err = c.Start()
So(err.Error(), ShouldContainSubstring, "route info not
found")
})