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

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


The following commit(s) were added to refs/heads/master by this push:
     new c182bfc8c refactor(go): upgrade go-retry to v5 and enable infinite 
reconnection (#2884)
c182bfc8c is described below

commit c182bfc8c7f7b1956872863590a7a95a36f3f4e7
Author: Chengxi Luo <[email protected]>
AuthorDate: Mon Mar 9 14:20:27 2026 -0400

    refactor(go): upgrade go-retry to v5 and enable infinite reconnection 
(#2884)
---
 bdd/go/go.mod                     |  2 +-
 bdd/go/go.sum                     |  4 ++--
 examples/go/go.mod                |  2 +-
 examples/go/go.sum                |  4 ++--
 foreign/go/client/tcp/tcp_core.go | 15 ++++++++-------
 foreign/go/go.mod                 |  2 +-
 foreign/go/go.sum                 |  4 ++--
 7 files changed, 17 insertions(+), 16 deletions(-)

diff --git a/bdd/go/go.mod b/bdd/go/go.mod
index 2a9152b31..8f2755c2d 100644
--- a/bdd/go/go.mod
+++ b/bdd/go/go.mod
@@ -13,7 +13,7 @@ require (
 )
 
 require (
-       github.com/avast/retry-go v3.0.0+incompatible // indirect
+       github.com/avast/retry-go/v5 v5.0.0 // indirect
        github.com/cucumber/gherkin/go/v26 v26.2.0 // indirect
        github.com/cucumber/messages/go/v21 v21.0.1 // indirect
        github.com/go-logr/logr v1.4.2 // indirect
diff --git a/bdd/go/go.sum b/bdd/go/go.sum
index 253373e91..94b7dde53 100644
--- a/bdd/go/go.sum
+++ b/bdd/go/go.sum
@@ -1,5 +1,5 @@
-github.com/avast/retry-go v3.0.0+incompatible 
h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0=
-github.com/avast/retry-go v3.0.0+incompatible/go.mod 
h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY=
+github.com/avast/retry-go/v5 v5.0.0 
h1:kf1Qc2UsTZ4qq8elDymqfbISvkyMuhgRxuJqX2NHP7k=
+github.com/avast/retry-go/v5 v5.0.0/go.mod 
h1://d+usmKWio1agtZfS1H/ltTqwtIfBnRq9zEwjc3eH8=
 github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod 
h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
 github.com/cucumber/gherkin/go/v26 v26.2.0 
h1:EgIjePLWiPeslwIWmNQ3XHcypPsWAHoMCz/YEBKP4GI=
 github.com/cucumber/gherkin/go/v26 v26.2.0/go.mod 
h1:t2GAPnB8maCT4lkHL99BDCVNzCh1d7dBhCLt150Nr/0=
diff --git a/examples/go/go.mod b/examples/go/go.mod
index b00cfef7c..d4d509fda 100644
--- a/examples/go/go.mod
+++ b/examples/go/go.mod
@@ -7,7 +7,7 @@ replace github.com/apache/iggy/foreign/go => ../../foreign/go
 require github.com/apache/iggy/foreign/go v0.0.0-00010101000000-000000000000
 
 require (
-       github.com/avast/retry-go v3.0.0+incompatible // indirect
+       github.com/avast/retry-go/v5 v5.0.0 // indirect
        github.com/google/uuid v1.6.0 // indirect
        github.com/klauspost/compress v1.17.11 // indirect
 )
diff --git a/examples/go/go.sum b/examples/go/go.sum
index cfeb8e43e..d776e278f 100644
--- a/examples/go/go.sum
+++ b/examples/go/go.sum
@@ -1,5 +1,5 @@
-github.com/avast/retry-go v3.0.0+incompatible 
h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0=
-github.com/avast/retry-go v3.0.0+incompatible/go.mod 
h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY=
+github.com/avast/retry-go/v5 v5.0.0 
h1:kf1Qc2UsTZ4qq8elDymqfbISvkyMuhgRxuJqX2NHP7k=
+github.com/avast/retry-go/v5 v5.0.0/go.mod 
h1://d+usmKWio1agtZfS1H/ltTqwtIfBnRq9zEwjc3eH8=
 github.com/davecgh/go-spew v1.1.1 
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
diff --git a/foreign/go/client/tcp/tcp_core.go 
b/foreign/go/client/tcp/tcp_core.go
index 02128fb3f..fe9f01d57 100644
--- a/foreign/go/client/tcp/tcp_core.go
+++ b/foreign/go/client/tcp/tcp_core.go
@@ -31,7 +31,7 @@ import (
        iggcon "github.com/apache/iggy/foreign/go/contracts"
        ierror "github.com/apache/iggy/foreign/go/errors"
        "github.com/apache/iggy/foreign/go/internal/command"
-       "github.com/avast/retry-go"
+       "github.com/avast/retry-go/v5"
 )
 
 type Option func(config *Options)
@@ -101,7 +101,7 @@ type tcpClientReconnectionConfig struct {
 func defaultTcpClientReconnectionConfig() tcpClientReconnectionConfig {
        return tcpClientReconnectionConfig{
                enabled:          true,
-               maxRetries:       10,
+               maxRetries:       0, //infinity retry
                interval:         2 * time.Second,
                reestablishAfter: 0,
        }
@@ -336,7 +336,11 @@ func (c *IggyTcpClient) connect() error {
        }
        // TODO handle tls logic
        var conn net.Conn
-       if err := retry.Do(
+       if err := retry.New(
+               retry.Attempts(attempts),
+               retry.Delay(interval),
+               retry.DelayType(retry.FixedDelay),
+       ).Do(
                func() error {
                        connection, err := net.Dial("tcp", 
c.currentServerAddress)
                        if err != nil {
@@ -369,10 +373,7 @@ func (c *IggyTcpClient) connect() error {
 
                        conn = tlsConn
                        return nil
-               },
-               retry.Attempts(attempts),
-               retry.Delay(interval),
-       ); err != nil {
+               }); err != nil {
                c.mtx.Lock()
                c.state = iggcon.StateDisconnected
                c.mtx.Unlock()
diff --git a/foreign/go/go.mod b/foreign/go/go.mod
index e41f48044..6f3d28197 100644
--- a/foreign/go/go.mod
+++ b/foreign/go/go.mod
@@ -5,7 +5,7 @@ go 1.23.0
 toolchain go1.23.1
 
 require (
-       github.com/avast/retry-go v3.0.0+incompatible
+       github.com/avast/retry-go/v5 v5.0.0
        github.com/google/uuid v1.6.0
        github.com/klauspost/compress v1.17.11
        github.com/stretchr/testify v1.11.1
diff --git a/foreign/go/go.sum b/foreign/go/go.sum
index e18944c97..02d11e40d 100644
--- a/foreign/go/go.sum
+++ b/foreign/go/go.sum
@@ -1,5 +1,5 @@
-github.com/avast/retry-go v3.0.0+incompatible 
h1:4SOWQ7Qs+oroOTQOYnAHqelpCO0biHSxpiH9JdtuBj0=
-github.com/avast/retry-go v3.0.0+incompatible/go.mod 
h1:XtSnn+n/sHqQIpZ10K1qAevBhOOCWBLXXy3hyiqqBrY=
+github.com/avast/retry-go/v5 v5.0.0 
h1:kf1Qc2UsTZ4qq8elDymqfbISvkyMuhgRxuJqX2NHP7k=
+github.com/avast/retry-go/v5 v5.0.0/go.mod 
h1://d+usmKWio1agtZfS1H/ltTqwtIfBnRq9zEwjc3eH8=
 github.com/davecgh/go-spew v1.1.1 
h1:vj9j/u1bqnvCEfJOwUhtlOARqs3+rkHYY13jYWTU97c=
 github.com/davecgh/go-spew v1.1.1/go.mod 
h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
 github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=

Reply via email to