Skip to content

Commit f31015c

Browse files
committed
Update module github.com/cenkalti/backoff/v4 to v5
Signed-off-by: Bogdan Drutu <[email protected]>
1 parent 20bf1fa commit f31015c

File tree

32 files changed

+70
-57
lines changed

32 files changed

+70
-57
lines changed

cmd/otelcorecol/go.mod

+2-3
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
module go.opentelemetry.io/collector/cmd/otelcorecol
44

5-
go 1.22.0
6-
7-
toolchain go1.22.10
5+
go 1.23
86

97
require (
108
go.opentelemetry.io/collector/component v0.116.0
@@ -37,6 +35,7 @@ require (
3735
require (
3836
github.com/beorn7/perks v1.0.1 // indirect
3937
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
38+
github.com/cenkalti/backoff/v5 v5.0.0 // indirect
4039
github.com/cespare/xxhash/v2 v2.3.0 // indirect
4140
github.com/davecgh/go-spew v1.1.1 // indirect
4241
github.com/ebitengine/purego v0.8.1 // indirect

cmd/otelcorecol/go.sum

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

config/configretry/backoff.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"errors"
88
"time"
99

10-
"github.com/cenkalti/backoff/v4"
10+
"github.com/cenkalti/backoff/v5"
1111
)
1212

1313
// NewDefaultBackOffConfig returns the default settings for RetryConfig.

config/configretry/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
module go.opentelemetry.io/collector/config/configretry
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
6-
github.com/cenkalti/backoff/v4 v4.3.0
6+
github.com/cenkalti/backoff/v5 v5.0.0
77
github.com/stretchr/testify v1.10.0
88
go.uber.org/goleak v1.3.0
99
)

config/configretry/go.sum

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/debugexporter/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/exporter/debugexporter
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/stretchr/testify v1.10.0
@@ -22,7 +22,7 @@ require (
2222
)
2323

2424
require (
25-
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
25+
github.com/cenkalti/backoff/v5 v5.0.0 // indirect
2626
github.com/davecgh/go-spew v1.1.1 // indirect
2727
github.com/go-logr/logr v1.4.2 // indirect
2828
github.com/go-logr/stdr v1.2.2 // indirect

exporter/debugexporter/go.sum

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/exporterhelper/internal/queue_sender_test.go

+4-1
Original file line numberDiff line numberDiff line change
@@ -196,6 +196,10 @@ func TestQueuedRetryHappyPath(t *testing.T) {
196196
) {
197197
t.Run(testName, func(t *testing.T) {
198198
resetFeatureGate := setFeatureGateForTest(t, usePullingBasedExporterQueueBatcher, enableQueueBatcher)
199+
t.Cleanup(func() {
200+
resetFeatureGate()
201+
})
202+
199203
tel, err := componenttest.SetupTelemetry(defaultID)
200204
require.NoError(t, err)
201205
t.Cleanup(func() { require.NoError(t, tel.Shutdown(context.Background())) })
@@ -221,7 +225,6 @@ func TestQueuedRetryHappyPath(t *testing.T) {
221225
require.NoError(t, be.Start(context.Background(), componenttest.NewNopHost()))
222226
t.Cleanup(func() {
223227
assert.NoError(t, be.Shutdown(context.Background()))
224-
resetFeatureGate()
225228
})
226229

227230
// Wait until all batches received

exporter/exporterhelper/internal/retry_sender.go

+13-9
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"fmt"
1010
"time"
1111

12-
"github.com/cenkalti/backoff/v4"
12+
"github.com/cenkalti/backoff/v5"
1313
"go.opentelemetry.io/otel/attribute"
1414
"go.opentelemetry.io/otel/trace"
1515
"go.uber.org/zap"
@@ -65,22 +65,20 @@ func (rs *retrySender) Shutdown(context.Context) error {
6565
return nil
6666
}
6767

68-
// send implements the requestSender interface
68+
// Send implements the requestSender interface
6969
func (rs *retrySender) Send(ctx context.Context, req internal.Request) error {
70-
// Do not use NewExponentialBackOff since it calls Reset and the code here must
71-
// call Reset after changing the InitialInterval (this saves an unnecessary call to Now).
7270
expBackoff := backoff.ExponentialBackOff{
7371
InitialInterval: rs.cfg.InitialInterval,
7472
RandomizationFactor: rs.cfg.RandomizationFactor,
7573
Multiplier: rs.cfg.Multiplier,
7674
MaxInterval: rs.cfg.MaxInterval,
77-
MaxElapsedTime: rs.cfg.MaxElapsedTime,
78-
Stop: backoff.Stop,
79-
Clock: backoff.SystemClock,
8075
}
81-
expBackoff.Reset()
8276
span := trace.SpanFromContext(ctx)
8377
retryNum := int64(0)
78+
var maxElapsedTime time.Time
79+
if rs.cfg.MaxElapsedTime > 0 {
80+
maxElapsedTime = time.Now().Add(rs.cfg.MaxElapsedTime)
81+
}
8482
for {
8583
span.AddEvent(
8684
"Sending request.",
@@ -110,7 +108,13 @@ func (rs *retrySender) Send(ctx context.Context, req internal.Request) error {
110108
backoffDelay = max(backoffDelay, throttleErr.delay)
111109
}
112110

113-
if deadline, has := ctx.Deadline(); has && time.Until(deadline) < backoffDelay {
111+
nextRetryTime := time.Now().Add(backoffDelay)
112+
if !maxElapsedTime.IsZero() && maxElapsedTime.Before(nextRetryTime) {
113+
// The delay is longer than the maxElapsedTime.
114+
return fmt.Errorf("no more retries left: %w", err)
115+
}
116+
117+
if deadline, has := ctx.Deadline(); has && deadline.Before(nextRetryTime) {
114118
// The delay is longer than the deadline. There is no point in
115119
// waiting for cancelation.
116120
return fmt.Errorf("request will be cancelled before next retry: %w", err)

exporter/exporterhelper/internal/retry_sender_test.go

+3-5
Original file line numberDiff line numberDiff line change
@@ -318,10 +318,10 @@ func TestQueueRetryWithDisabledRetires(t *testing.T) {
318318
ocs.run(func() {
319319
require.Error(t, be.Send(context.Background(), mockR))
320320
})
321+
ocs.awaitAsyncProcessing()
321322
assert.Len(t, observed.All(), 1)
322323
assert.Equal(t, "Exporting failed. Rejecting data. "+
323324
"Try enabling retry_on_failure config option to retry on retryable errors.", observed.All()[0].Message)
324-
ocs.awaitAsyncProcessing()
325325
mockR.checkNumRequests(t, 1)
326326
ocs.checkSendItemsCount(t, 0)
327327
ocs.checkDroppedItemsCount(t, 2)
@@ -367,15 +367,13 @@ func TestRetryWithContextTimeout(t *testing.T) {
367367
ocs.run(func() {
368368
ctx, cancel := context.WithTimeout(context.Background(), testTimeout)
369369
defer cancel()
370-
err := be.Send(ctx, mockR)
371-
require.Error(t, err)
372-
require.Equal(t, "request will be cancelled before next retry: transient error", err.Error())
370+
require.EqualError(t, be.Send(ctx, mockR), "request will be cancelled before next retry: transient error")
373371
})
372+
ocs.awaitAsyncProcessing()
374373
assert.Len(t, observed.All(), 2)
375374
assert.Equal(t, "Exporting failed. Will retry the request after interval.", observed.All()[0].Message)
376375
assert.Equal(t, "Exporting failed. Rejecting data. "+
377376
"Try enabling sending_queue to survive temporary failures.", observed.All()[1].Message)
378-
ocs.awaitAsyncProcessing()
379377
ocs.checkDroppedItemsCount(t, 7)
380378
require.Equal(t, 2, mockR.(*mockErrorRequest).getNumRequests())
381379
require.NoError(t, be.Shutdown(context.Background()))

exporter/exporterhelper/xexporterhelper/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/exporter/exporterhelper/xexporterhelper
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/stretchr/testify v1.10.0
@@ -25,7 +25,7 @@ require (
2525
)
2626

2727
require (
28-
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
28+
github.com/cenkalti/backoff/v5 v5.0.0 // indirect
2929
github.com/davecgh/go-spew v1.1.1 // indirect
3030
github.com/go-logr/logr v1.4.2 // indirect
3131
github.com/go-logr/stdr v1.2.2 // indirect

exporter/exporterhelper/xexporterhelper/go.sum

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/exportertest/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/exporter/exportertest
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/google/uuid v1.6.0
@@ -22,7 +22,7 @@ require (
2222
)
2323

2424
require (
25-
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
25+
github.com/cenkalti/backoff/v5 v5.0.0 // indirect
2626
github.com/davecgh/go-spew v1.1.1 // indirect
2727
github.com/go-logr/logr v1.4.2 // indirect
2828
github.com/go-logr/stdr v1.2.2 // indirect

exporter/exportertest/go.sum

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
module go.opentelemetry.io/collector/exporter
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
6-
github.com/cenkalti/backoff/v4 v4.3.0
6+
github.com/cenkalti/backoff/v5 v5.0.0
77
github.com/stretchr/testify v1.10.0
88
go.opentelemetry.io/collector/component v0.116.0
99
go.opentelemetry.io/collector/component/componenttest v0.116.0

exporter/go.sum

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/nopexporter/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/exporter/nopexporter
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/stretchr/testify v1.10.0

exporter/nopexporter/go.sum

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/otlpexporter/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/exporter/otlpexporter
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/stretchr/testify v1.10.0
@@ -31,7 +31,7 @@ require (
3131
)
3232

3333
require (
34-
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
34+
github.com/cenkalti/backoff/v5 v5.0.0 // indirect
3535
github.com/davecgh/go-spew v1.1.1 // indirect
3636
github.com/fsnotify/fsnotify v1.8.0 // indirect
3737
github.com/go-logr/logr v1.4.2 // indirect

exporter/otlpexporter/go.sum

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/otlphttpexporter/go.mod

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/exporter/otlphttpexporter
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/stretchr/testify v1.10.0
@@ -29,7 +29,7 @@ require (
2929
)
3030

3131
require (
32-
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
32+
github.com/cenkalti/backoff/v5 v5.0.0 // indirect
3333
github.com/davecgh/go-spew v1.1.1 // indirect
3434
github.com/felixge/httpsnoop v1.0.4 // indirect
3535
github.com/fsnotify/fsnotify v1.8.0 // indirect

exporter/otlphttpexporter/go.sum

+2-2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

exporter/xexporter/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/exporter/xexporter
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/stretchr/testify v1.10.0

internal/e2e/go.mod

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/internal/e2e
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/stretchr/testify v1.10.0
@@ -39,6 +39,7 @@ require (
3939
require (
4040
github.com/beorn7/perks v1.0.1 // indirect
4141
github.com/cenkalti/backoff/v4 v4.3.0 // indirect
42+
github.com/cenkalti/backoff/v5 v5.0.0 // indirect
4243
github.com/cespare/xxhash/v2 v2.3.0 // indirect
4344
github.com/davecgh/go-spew v1.1.1 // indirect
4445
github.com/ebitengine/purego v0.8.1 // indirect

internal/e2e/go.sum

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

internal/tools/go.mod

-2
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,6 @@ module go.opentelemetry.io/collector/internal/tools
22

33
go 1.23
44

5-
toolchain go1.23.2
6-
75
require (
86
github.com/a8m/envsubst v1.4.2
97
github.com/client9/misspell v0.3.4

otelcol/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/otelcol
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/spf13/cobra v1.8.1

otelcol/go.sum

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

otelcol/otelcoltest/go.mod

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
module go.opentelemetry.io/collector/otelcol/otelcoltest
22

3-
go 1.22.0
3+
go 1.23
44

55
require (
66
github.com/stretchr/testify v1.10.0

otelcol/otelcoltest/go.sum

+2
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)