From 14f74df10d4aead728ec696a734be8d7992416bf Mon Sep 17 00:00:00 2001 From: Konstantin Prokopenko Date: Mon, 10 Nov 2025 17:00:38 +0300 Subject: [PATCH 1/3] Fix checking GRPC transport error --- internal/discovery/discovery.go | 4 +++- internal/discovery/discovery_test.go | 4 +++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/internal/discovery/discovery.go b/internal/discovery/discovery.go index 7da242377..c793561e0 100644 --- a/internal/discovery/discovery.go +++ b/internal/discovery/discovery.go @@ -52,7 +52,9 @@ func Discover( response, err = client.ListEndpoints(ctx, &request) if err != nil { - return nil, location, xerrors.WithStackTrace(err) + return nil, location, xerrors.WithStackTrace( + xerrors.TransportError(err), + ) } if response.GetOperation().GetStatus() != Ydb.StatusIds_SUCCESS { diff --git a/internal/discovery/discovery_test.go b/internal/discovery/discovery_test.go index 067074acf..50ea4775c 100644 --- a/internal/discovery/discovery_test.go +++ b/internal/discovery/discovery_test.go @@ -17,6 +17,7 @@ import ( "github.com/ydb-platform/ydb-go-sdk/v3/internal/endpoint" "github.com/ydb-platform/ydb-go-sdk/v3/internal/xerrors" xtest "github.com/ydb-platform/ydb-go-sdk/v3/pkg/xtest" + "github.com/ydb-platform/ydb-go-sdk/v3/retry" ) func TestDiscover(t *testing.T) { @@ -85,7 +86,7 @@ func TestDiscover(t *testing.T) { client := NewMockDiscoveryServiceClient(ctrl) client.EXPECT().ListEndpoints(gomock.Any(), &Ydb_Discovery.ListEndpointsRequest{ Database: "test", - }).Return(nil, xerrors.Transport(status.Error(grpcCodes.Unavailable, ""))) + }).Return(nil, status.Error(grpcCodes.Unavailable, "")) endpoints, location, err := Discover(ctx, client, config.New( config.WithDatabase("test"), )) @@ -93,6 +94,7 @@ func TestDiscover(t *testing.T) { require.Empty(t, endpoints) require.Equal(t, "", location) require.True(t, xerrors.IsTransportError(err, grpcCodes.Unavailable)) + require.True(t, retry.Check(err).MustRetry(true), "must retry") }) t.Run("OperationError", func(t *testing.T) { ctx := xtest.Context(t) From 350b6eb0f1834326b07f080925190a7991cbe111 Mon Sep 17 00:00:00 2001 From: Konstantin Prokopenko Date: Mon, 10 Nov 2025 17:26:13 +0300 Subject: [PATCH 2/3] add changelog --- .github/log.json | 0 CHANGELOG.md | 2 ++ 2 files changed, 2 insertions(+) create mode 100644 .github/log.json diff --git a/.github/log.json b/.github/log.json new file mode 100644 index 000000000..e69de29bb diff --git a/CHANGELOG.md b/CHANGELOG.md index 9c6305768..7672c676d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,5 @@ +* Fixed checking GRPC transport error in `discovery` + ## v3.118.1 * Fixed connection timeout issue in topics writer * Supported `sql.Null*` from `database/sql` as query params in `toValue` func From 0a8892b7850bc3836fe1a6283fcc537bca30a4ee Mon Sep 17 00:00:00 2001 From: Konstantin Prokopenko Date: Mon, 10 Nov 2025 17:27:16 +0300 Subject: [PATCH 3/3] fix --- .github/log.json | 0 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 .github/log.json diff --git a/.github/log.json b/.github/log.json deleted file mode 100644 index e69de29bb..000000000