This is an automated email from the ASF dual-hosted git repository.
lizhimin pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/rocketmq-clients.git
The following commit(s) were added to refs/heads/master by this push:
new 7da326f2 [ISSUE #811] [Golang] should not copy sync.Map in
loadBalancer (#810)
7da326f2 is described below
commit 7da326f284d73fe95f47af03ec22288ef7897aa4
Author: Vincent Lee <[email protected]>
AuthorDate: Wed Jun 4 17:55:45 2025 +0800
[ISSUE #811] [Golang] should not copy sync.Map in loadBalancer (#810)
---
golang/loadBalancer.go | 4 ++--
golang/producer.go | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/golang/loadBalancer.go b/golang/loadBalancer.go
index dd94b4f0..0c7ad506 100644
--- a/golang/loadBalancer.go
+++ b/golang/loadBalancer.go
@@ -31,7 +31,7 @@ import (
type PublishingLoadBalancer interface {
TakeMessageQueueByMessageGroup(messageGroup *string)
([]*v2.MessageQueue, error)
- TakeMessageQueues(excluded sync.Map, count int) ([]*v2.MessageQueue,
error)
+ TakeMessageQueues(excluded *sync.Map, count int) ([]*v2.MessageQueue,
error)
CopyAndUpdate([]*v2.MessageQueue) PublishingLoadBalancer
}
@@ -64,7 +64,7 @@ func (plb *publishingLoadBalancer)
TakeMessageQueueByMessageGroup(messageGroup *
}, nil
}
-func (plb *publishingLoadBalancer) TakeMessageQueues(excluded sync.Map, count
int) ([]*v2.MessageQueue, error) {
+func (plb *publishingLoadBalancer) TakeMessageQueues(excluded *sync.Map, count
int) ([]*v2.MessageQueue, error) {
if len(plb.messageQueues) == 0 {
return nil, fmt.Errorf("messageQueues is empty")
}
diff --git a/golang/producer.go b/golang/producer.go
index 3e878a93..5f0a355d 100644
--- a/golang/producer.go
+++ b/golang/producer.go
@@ -79,7 +79,7 @@ func (p *defaultProducer) wrapHeartbeatRequest()
*v2.HeartbeatRequest {
}
func (p *defaultProducer) takeMessageQueues(plb PublishingLoadBalancer)
([]*v2.MessageQueue, error) {
- return plb.TakeMessageQueues(p.isolated, p.getRetryMaxAttempts())
+ return plb.TakeMessageQueues(&p.isolated, p.getRetryMaxAttempts())
}
func (p *defaultProducer) getPublishingTopicRouteResult(ctx context.Context,
topic string) (PublishingLoadBalancer, error) {