diff options
Diffstat (limited to 'src/mongo/idl/cluster_server_parameter_refresher.cpp')
-rw-r--r-- | src/mongo/idl/cluster_server_parameter_refresher.cpp | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/mongo/idl/cluster_server_parameter_refresher.cpp b/src/mongo/idl/cluster_server_parameter_refresher.cpp index e711ef20c1c..d19cf7248fb 100644 --- a/src/mongo/idl/cluster_server_parameter_refresher.cpp +++ b/src/mongo/idl/cluster_server_parameter_refresher.cpp @@ -64,6 +64,11 @@ getFCVAndClusterParametersFromConfigServer() { // Use an alternative client region, because we call refreshParameters both from the internal // refresher process and from getClusterParameter. auto altClient = getGlobalServiceContext()->makeClient("clusterParameterRefreshTransaction"); + // TODO(SERVER-74660): Please revisit if this thread could be made killable. + { + stdx::lock_guard<Client> lk(*altClient.get()); + altClient.get()->setSystemOperationUnkillableByStepdown(lk); + } AlternativeClientRegion clientRegion(altClient); auto opCtx = cc().makeOperationContext(); auto as = AuthorizationSession::get(cc()); @@ -300,7 +305,9 @@ void ClusterServerParameterRefresher::start(ServiceContext* serviceCtx, Operatio PeriodicRunner::PeriodicJob job( "ClusterServerParameterRefresher", [serviceCtx](Client* client) { getClusterServerParameterRefresher(serviceCtx)->run(); }, - loadInterval()); + loadInterval(), + // TODO(SERVER-74659): Please revisit if this periodic job could be made killable. + false /*isKillableByStepdown*/); refresher->_job = std::make_unique<PeriodicJobAnchor>(periodicRunner->makeJob(std::move(job))); |