File tree Expand file tree Collapse file tree 4 files changed +14
-8
lines changed
src/Ydb.Sdk/src/Services/Table Expand file tree Collapse file tree 4 files changed +14
-8
lines changed Original file line number Diff line number Diff line change 1+ - Fix timeout error on create session
2+ - Fix transport error on delete session
3+
14## v0.1.4
25- Add exception throwing when results truncated
36- lint: add line feed at file end
Original file line number Diff line number Diff line change @@ -57,8 +57,7 @@ public async Task<CreateSessionResponse> CreateSession(CreateSessionSettings? se
5757 request : request ,
5858 settings : settings ) ;
5959
60- CreateSessionResult ? resultProto ;
61- var status = UnpackOperation ( response . Data . Operation , out resultProto ) ;
60+ var status = UnpackOperation ( response . Data . Operation , out CreateSessionResult ? resultProto ) ;
6261
6362 CreateSessionResponse . ResultData ? result = null ;
6463 if ( status . IsSuccess && resultProto != null )
Original file line number Diff line number Diff line change @@ -76,10 +76,11 @@ protected virtual void Dispose(bool disposing)
7676 _logger . LogTrace ( $ "Closing detached session on dispose: { Id } ") ;
7777
7878 var client = new TableClient ( Driver , new NoPool ( ) ) ;
79- _ = client . DeleteSession ( Id , new DeleteSessionSettings
79+ var task = client . DeleteSession ( Id , new DeleteSessionSettings
8080 {
8181 TransportTimeout = DeleteSessionTimeout
8282 } ) ;
83+ task . Wait ( ) ;
8384 }
8485 else
8586 {
Original file line number Diff line number Diff line change @@ -90,8 +90,7 @@ public async Task<GetSessionResponse> GetSession()
9090 {
9191 var sessionId = _idleSessions . Pop ( ) ;
9292
93- SessionState ? sessionState ;
94- if ( ! _sessions . TryGetValue ( sessionId , out sessionState ) )
93+ if ( ! _sessions . TryGetValue ( sessionId , out var sessionState ) )
9594 {
9695 continue ;
9796 }
@@ -152,8 +151,7 @@ internal void ReturnSession(string id)
152151 {
153152 lock ( _lock )
154153 {
155- SessionState ? oldSession ;
156- if ( _sessions . TryGetValue ( id , out oldSession ) )
154+ if ( _sessions . TryGetValue ( id , out var oldSession ) )
157155 {
158156 var session = new Session (
159157 driver : _driver ,
@@ -275,15 +273,20 @@ private void Dispose(bool disposing)
275273
276274 if ( disposing )
277275 {
276+ var tasks = new Task [ _sessions . Count ] ;
277+ var i = 0 ;
278278 foreach ( var state in _sessions . Values )
279279 {
280280 _logger . LogTrace ( $ "Closing session on session pool dispose: { state . Session . Id } ") ;
281281
282- _ = _client . DeleteSession ( state . Session . Id , new DeleteSessionSettings
282+ var task = _client . DeleteSession ( state . Session . Id , new DeleteSessionSettings
283283 {
284284 TransportTimeout = Session . DeleteSessionTimeout
285285 } ) ;
286+ tasks [ i ++ ] = task ;
286287 }
288+
289+ Task . WaitAll ( tasks ) ;
287290 }
288291
289292 _disposed = true ;
You can’t perform that action at this time.
0 commit comments