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=