Skip to content

Commit a4cc963

Browse files
authored
Merge pull request #1014 from v1tbrah/issues/863/StatusIds_SESSION_EXPIRED-is-non-retriable
fix: Make the error StatusIds_SESSION_EXPIRED retriable
2 parents a239596 + 41a55ef commit a4cc963

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
* Made `StatusIds_SESSION_EXPIRED` retriable for idempotent operations
2+
13
## v3.55.0
24
* Refactored `internal/value/intervalValue.Yql()`
35
* The minimum version of Go in `ydb-go-sdk` has been raised to `go1.20`

internal/xerrors/operation.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -166,7 +166,9 @@ func (e *operationError) Type() Type {
166166
Ydb.StatusIds_BAD_SESSION,
167167
Ydb.StatusIds_SESSION_BUSY:
168168
return TypeRetryable
169-
case Ydb.StatusIds_UNDETERMINED:
169+
case
170+
Ydb.StatusIds_UNDETERMINED,
171+
Ydb.StatusIds_SESSION_EXPIRED:
170172
return TypeConditionallyRetryable
171173
default:
172174
return TypeUndefined

retry/errors_data_test.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -408,7 +408,7 @@ var errsToCheck = []struct {
408408
backoff: backoff.TypeNoBackoff,
409409
deleteSession: true,
410410
canRetry: map[idempotency]bool{
411-
idempotent: false,
411+
idempotent: true,
412412
nonIdempotent: false,
413413
},
414414
},

0 commit comments

Comments
 (0)