This commit is contained in:
alesapin 2021-08-30 16:23:31 +03:00
parent 00935c3bb3
commit 2160a2f8f7
2 changed files with 22 additions and 17 deletions

View File

@ -293,10 +293,12 @@ void KeeperDispatcher::shutdown()
if (session_cleaner_thread.joinable())
session_cleaner_thread.join();
/// FIXME not the best way to notify
requests_queue->push({});
if (request_thread.joinable())
request_thread.join();
if (requests_queue)
{
requests_queue->push({});
if (request_thread.joinable())
request_thread.join();
}
responses_queue.push({});
if (responses_thread.joinable())
@ -310,20 +312,23 @@ void KeeperDispatcher::shutdown()
if (server)
server->shutdown();
KeeperStorage::RequestForSession request_for_session;
/// Set session expired for all pending requests
while (requests_queue->tryPop(request_for_session))
if (requests_queue)
{
if (request_for_session.request)
KeeperStorage::RequestForSession request_for_session;
/// Set session expired for all pending requests
while (requests_queue->tryPop(request_for_session))
{
auto response = request_for_session.request->makeResponse();
response->error = Coordination::Error::ZSESSIONEXPIRED;
setResponse(request_for_session.session_id, response);
}
else
{
break;
if (request_for_session.request)
{
auto response = request_for_session.request->makeResponse();
response->error = Coordination::Error::ZSESSIONEXPIRED;
setResponse(request_for_session.session_id, response);
}
else
{
break;
}
}
}

View File

@ -10,7 +10,7 @@
<startup_timeout>60000</startup_timeout>
<!-- we want all logs for complex problems investigation -->
<reserved_log_items>10000</reserved_log_items>
<rotate_log_interval>33333</rotate_log_interval>
<rotate_log_storage_interval>33333</rotate_log_storage_interval>
</coordination_settings>
<raft_configuration>