Skip to content

Commit a78d380

Browse files
author
swithek
authored
Remove context deadline checking in backOffContext (cenkalti#113)
* Remove ctx deadline check * Add context error checking after stop
1 parent c2975ff commit a78d380

3 files changed

Lines changed: 6 additions & 6 deletions

File tree

context.go

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -57,10 +57,6 @@ func (b *backOffContext) NextBackOff() time.Duration {
5757
case <-b.ctx.Done():
5858
return Stop
5959
default:
60+
return b.BackOff.NextBackOff()
6061
}
61-
next := b.BackOff.NextBackOff()
62-
if deadline, ok := b.ctx.Deadline(); ok && deadline.Sub(time.Now()) < next { // nolint: gosimple
63-
return Stop
64-
}
65-
return next
6662
}

retry.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,10 @@ func RetryNotifyWithTimer(operation Operation, b BackOff, notify Notify, t Timer
6262
}
6363

6464
if next = b.NextBackOff(); next == Stop {
65+
if cerr := ctx.Err(); cerr != nil {
66+
return cerr
67+
}
68+
6569
return err
6670
}
6771

retry_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ func TestRetryContext(t *testing.T) {
8181
if err == nil {
8282
t.Errorf("error is unexpectedly nil")
8383
}
84-
if err.Error() != "error (3)" {
84+
if !errors.Is(err, context.Canceled) {
8585
t.Errorf("unexpected error: %s", err.Error())
8686
}
8787
if i != cancelOn {

0 commit comments

Comments
 (0)