Skip to content

Commit b3f9d93

Browse files
committed
Moved commit "Fix memory leak in case of launch periodic keep-alive task for query service session" from ydb repo
1 parent f0c065a commit b3f9d93

File tree

2 files changed

+6
-7
lines changed

2 files changed

+6
-7
lines changed

src/client/impl/ydb_internal/session_pool/session_pool.cpp

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -284,10 +284,13 @@ TPeriodicCb TSessionPool::CreatePeriodicTask(std::weak_ptr<ISessionClient> weakC
284284

285285
if (deletePredicate(it->second.get(), sessions.size())) {
286286
sessionsToDelete.emplace_back(std::move(it->second));
287-
} else {
287+
sessions.erase(it++);
288+
} else if (cmd) {
288289
sessionsToTouch.emplace_back(std::move(it->second));
290+
sessions.erase(it++);
291+
} else {
292+
it++;
289293
}
290-
sessions.erase(it++);
291294
}
292295
}
293296

src/client/query/client.cpp

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -487,15 +487,11 @@ class TQueryClient::TImpl: public TClientImplCommon<TQueryClient::TImpl>, public
487487
return false;
488488
};
489489

490-
// No need to keep-alive
491-
auto keepAliveCmd = [](TKqpSessionCommon*) {
492-
};
493-
494490
std::weak_ptr<TQueryClient::TImpl> weak = shared_from_this();
495491
Connections_->AddPeriodicTask(
496492
SessionPool_.CreatePeriodicTask(
497493
weak,
498-
std::move(keepAliveCmd),
494+
NSessionPool::TSessionPool::TKeepAliveCmd(), // no keep-alive cmd for query service
499495
std::move(deletePredicate)
500496
), NSessionPool::PERIODIC_ACTION_INTERVAL);
501497
}

0 commit comments

Comments
 (0)