Skip to content

Commit a8c26e2

Browse files
authored
Fix checking GRPC transport error (#1930)
1 parent 4455bb7 commit a8c26e2

File tree

3 files changed

+8
-2
lines changed

3 files changed

+8
-2
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,5 @@
1+
* Fixed checking GRPC transport error in `discovery`
2+
13
## v3.118.1
24
* Fixed connection timeout issue in topics writer
35
* Supported `sql.Null*` from `database/sql` as query params in `toValue` func

internal/discovery/discovery.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,9 @@ func Discover(
5252

5353
response, err = client.ListEndpoints(ctx, &request)
5454
if err != nil {
55-
return nil, location, xerrors.WithStackTrace(err)
55+
return nil, location, xerrors.WithStackTrace(
56+
xerrors.TransportError(err),
57+
)
5658
}
5759

5860
if response.GetOperation().GetStatus() != Ydb.StatusIds_SUCCESS {

internal/discovery/discovery_test.go

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import (
1717
"github.com/ydb-platform/ydb-go-sdk/v3/internal/endpoint"
1818
"github.com/ydb-platform/ydb-go-sdk/v3/internal/xerrors"
1919
xtest "github.com/ydb-platform/ydb-go-sdk/v3/pkg/xtest"
20+
"github.com/ydb-platform/ydb-go-sdk/v3/retry"
2021
)
2122

2223
func TestDiscover(t *testing.T) {
@@ -85,14 +86,15 @@ func TestDiscover(t *testing.T) {
8586
client := NewMockDiscoveryServiceClient(ctrl)
8687
client.EXPECT().ListEndpoints(gomock.Any(), &Ydb_Discovery.ListEndpointsRequest{
8788
Database: "test",
88-
}).Return(nil, xerrors.Transport(status.Error(grpcCodes.Unavailable, "")))
89+
}).Return(nil, status.Error(grpcCodes.Unavailable, ""))
8990
endpoints, location, err := Discover(ctx, client, config.New(
9091
config.WithDatabase("test"),
9192
))
9293
require.Error(t, err)
9394
require.Empty(t, endpoints)
9495
require.Equal(t, "", location)
9596
require.True(t, xerrors.IsTransportError(err, grpcCodes.Unavailable))
97+
require.True(t, retry.Check(err).MustRetry(true), "must retry")
9698
})
9799
t.Run("OperationError", func(t *testing.T) {
98100
ctx := xtest.Context(t)

0 commit comments

Comments
 (0)