Skip to content

Commit 8286726

Browse files
committed
* Made session.Close() as nop for idled session
1 parent 11b2900 commit 8286726

File tree

2 files changed

+15
-12
lines changed

2 files changed

+15
-12
lines changed

CHANGELOG.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
1-
* Fixed closing of database/sql connection (aka `YDB` session)
1+
* Fixed closing of `database/sql` connection (aka `YDB` session)
2+
* Made `session.Close()` as `nop` for idled session
23

34
## v3.42.4
45
* Added `ydb.WithDisableServerBalancer()` database/sql connector option

internal/table/session.go

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -184,17 +184,19 @@ func (s *session) Close(ctx context.Context) (err error) {
184184

185185
onDone := trace.TableOnSessionDelete(s.config.Trace(), &ctx, s)
186186

187-
_, err = s.tableService.DeleteSession(
188-
ctx,
189-
&Ydb_Table.DeleteSessionRequest{
190-
SessionId: s.id,
191-
OperationParams: operation.Params(ctx,
192-
s.config.OperationTimeout(),
193-
s.config.OperationCancelAfter(),
194-
operation.ModeSync,
195-
),
196-
},
197-
)
187+
if time.Since(s.LastUsage()) < s.config.IdleThreshold() {
188+
_, err = s.tableService.DeleteSession(
189+
ctx,
190+
&Ydb_Table.DeleteSessionRequest{
191+
SessionId: s.id,
192+
OperationParams: operation.Params(ctx,
193+
s.config.OperationTimeout(),
194+
s.config.OperationCancelAfter(),
195+
operation.ModeSync,
196+
),
197+
},
198+
)
199+
}
198200

199201
for _, onClose := range s.onClose {
200202
onClose(s)

0 commit comments

Comments
 (0)