This is an automated email from the ASF dual-hosted git repository.
dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git
The following commit(s) were added to refs/heads/master by this push:
new d421b344a2 [INLONG-12120][SDK] Optimize worker selection logic in
DataProxy Go SDK (#12123)
d421b344a2 is described below
commit d421b344a234cd325e5bcc484e4e7f2c54fa9993
Author: yfsn666 <[email protected]>
AuthorDate: Mon May 18 19:26:28 2026 +0800
[INLONG-12120][SDK] Optimize worker selection logic in DataProxy Go SDK
(#12123)
---
.../dataproxy-sdk-golang/dataproxy/client.go | 11 +++++++----
1 file changed, 7 insertions(+), 4 deletions(-)
diff --git
a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/dataproxy/client.go
b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/dataproxy/client.go
index f8833b25e3..f06b249a6b 100755
--- a/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/dataproxy/client.go
+++ b/inlong-sdk/dataproxy-sdk-twins/dataproxy-sdk-golang/dataproxy/client.go
@@ -256,12 +256,15 @@ func (c *client) SendAsync(ctx context.Context, msg
Message, cb Callback) {
}
func (c *client) getWorker() (*worker, error) {
- index := c.curWorkerIndex.Load()
- w := c.workers[index%uint64(len(c.workers))]
+ workerNum := uint64(len(c.workers))
+ start := c.curWorkerIndex.Load()
c.curWorkerIndex.Add(1)
- if w.available() {
- return w, nil
+ for i := uint64(0); i < workerNum; i++ {
+ w := c.workers[(start+i)%workerNum]
+ if w.available() {
+ return w, nil
+ }
}
c.metrics.incError(workerBusy.strCode)