/
githubmirror
/
ydb-go-sdk
Обзор
Документация
Войти
/
githubmirror
/
ydb-go-sdk
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
internal/xerrors/session.go
44 строки
1009 B
Copilot
fix: invalidate sessions on context errors to prevent SESSION_BUSY (#2038)
13 мар 2026, 16:12
Не верифицирован
13 мар 2026, 16:12
32aa173
Код
Авторство
О чём код?
package xerrors import ( "github.com/ydb-platform/ydb-go-genproto/protos/Ydb" grpcCodes "google.golang.org/grpc/codes" ) func MustDeleteTableOrQuerySession(err error) bool { // Context errors (context.Canceled, context.DeadlineExceeded) indicate that a // query may still be running on the server side. The session must be invalidated // to prevent SESSION_BUSY errors on subsequent requests. if IsContextError(err) { return true } if IsOperationError(err, Ydb.StatusIds_BAD_SESSION, Ydb.StatusIds_SESSION_BUSY, Ydb.StatusIds_SESSION_EXPIRED, ) { return true } if IsTransportError(err, grpcCodes.Canceled, grpcCodes.Unknown, grpcCodes.InvalidArgument, grpcCodes.DeadlineExceeded, grpcCodes.NotFound, grpcCodes.AlreadyExists, grpcCodes.PermissionDenied, grpcCodes.FailedPrecondition, grpcCodes.Aborted, grpcCodes.Unimplemented, grpcCodes.Internal, grpcCodes.Unavailable, grpcCodes.DataLoss, grpcCodes.Unauthenticated, ) { return true } return false }