Skip to content

Commit 3601d20

Browse files
fix
1 parent 1ec28dc commit 3601d20

File tree

2 files changed

+21
-11
lines changed

2 files changed

+21
-11
lines changed

src/Ydb.Sdk/src/Ado/Session/PoolingSession.cs

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,9 @@ StatusCode.BadSession or
9999
StatusCode.SessionBusy or
100100
StatusCode.SessionExpired or
101101
StatusCode.ClientTransportTimeout or
102-
StatusCode.ClientTransportUnavailable)
102+
StatusCode.ClientTransportUnavailable or
103+
StatusCode.ClientTransportResourceExhausted or
104+
StatusCode.ClientTransportUnknown)
103105
{
104106
_logger.LogWarning("Session[{SessionId}] is deactivated. Reason Status: {Status}", SessionId, statusCode);
105107

src/Ydb.Sdk/src/Ado/Session/RetryableSession.cs

Lines changed: 18 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -87,22 +87,30 @@ public async Task<bool> MoveNextAsync(CancellationToken cancellationToken = defa
8787
{
8888
using var session = await _sessionSource.OpenSession(ct);
8989

90-
var responses = new List<ExecuteQueryResponsePart>();
91-
var serverStream = await session.ExecuteQuery(_query, _parameters, _settings, null);
92-
93-
while (await serverStream.MoveNextAsync(ct))
90+
try
9491
{
95-
var current = serverStream.Current;
92+
var responses = new List<ExecuteQueryResponsePart>();
93+
var serverStream = await session.ExecuteQuery(_query, _parameters, _settings, null);
9694

97-
if (current.Status.IsNotSuccess())
95+
while (await serverStream.MoveNextAsync(ct))
9896
{
99-
throw YdbException.FromServer(current.Status, current.Issues);
97+
var current = serverStream.Current;
98+
99+
if (current.Status.IsNotSuccess())
100+
{
101+
throw YdbException.FromServer(current.Status, current.Issues);
102+
}
103+
104+
responses.Add(serverStream.Current);
100105
}
101106

102-
responses.Add(serverStream.Current);
107+
return responses;
108+
}
109+
catch (YdbException e)
110+
{
111+
session.OnNotSuccessStatusCode(e.Code);
112+
throw;
103113
}
104-
105-
return responses;
106114
}, cancellationToken);
107115

108116
return _responses.Count > 0;

0 commit comments

Comments
 (0)