Skip to content

Commit 185d8b6

Browse files
authored
Merge pull request #369 from ydb-platform/revert-context
revert context errors as required delete session
2 parents 813a1de + 253b71b commit 185d8b6

File tree

4 files changed

+12
-22
lines changed

4 files changed

+12
-22
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
* Revert the marking of context errors as required to delete session
2+
13
## v3.37.3
24
* Fixed alter topic request - stop send empty setSupportedCodecs if customer not set them
35
* Marked the context errors as required to delete session

internal/retry/check.go

Lines changed: 7 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package retry
22

33
import (
4-
"context"
5-
64
"github.com/ydb-platform/ydb-go-sdk/v3/internal/backoff"
75
"github.com/ydb-platform/ydb-go-sdk/v3/internal/operation"
86
"github.com/ydb-platform/ydb-go-sdk/v3/internal/xerrors"
@@ -16,15 +14,12 @@ func Check(err error) (
1614
deleteSession bool,
1715
) {
1816
var e xerrors.Error
19-
switch {
20-
case xerrors.As(err, &e):
21-
return int64(e.Code()), e.OperationStatus(), e.BackoffType(), e.MustDeleteSession()
22-
23-
// context errors with explicit delete session
24-
case xerrors.Is(err, context.Canceled), xerrors.Is(err, context.DeadlineExceeded):
25-
return int64(-1), operation.Finished, backoff.TypeNoBackoff, true
17+
if xerrors.As(err, &e) {
18+
return int64(e.Code()),
19+
e.OperationStatus(),
20+
e.BackoffType(),
21+
e.MustDeleteSession()
2622
}
27-
2823
return -1,
2924
operation.Finished, // it's finished, not need any retry attempts
3025
backoff.TypeNoBackoff,
@@ -33,17 +28,10 @@ func Check(err error) (
3328

3429
func MustDeleteSession(err error) bool {
3530
var e xerrors.Error
36-
switch {
37-
case xerrors.As(err, &e):
31+
if xerrors.As(err, &e) {
3832
return e.MustDeleteSession()
39-
40-
// context errors with explicit delete session
41-
case xerrors.Is(err, context.Canceled), xerrors.Is(err, context.DeadlineExceeded):
42-
return true
43-
44-
default:
45-
return false
4633
}
34+
return false
4735
}
4836

4937
func MustRetry(err error, isOperationIdempotent bool) bool {

internal/xtest/grpclogger.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ import (
88
"google.golang.org/grpc"
99
)
1010

11-
var globalLastStreamID int64 = 0
11+
var globalLastStreamID = int64(0)
1212

1313
// GrpcLogger use for log raw grpc messages
1414
//

retry/errors_data_test.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -47,7 +47,7 @@ var errsToCheck = []struct {
4747
// golang context deadline exceeded
4848
err: context.DeadlineExceeded,
4949
backoff: backoff.TypeNoBackoff,
50-
deleteSession: true,
50+
deleteSession: false,
5151
canRetry: map[idempotency]bool{
5252
idempotent: false,
5353
nonIdempotent: false,
@@ -57,7 +57,7 @@ var errsToCheck = []struct {
5757
// golang context canceled
5858
err: context.Canceled,
5959
backoff: backoff.TypeNoBackoff,
60-
deleteSession: true,
60+
deleteSession: false,
6161
canRetry: map[idempotency]bool{
6262
idempotent: false,
6363
nonIdempotent: false,

0 commit comments

Comments
 (0)