summaryrefslogtreecommitdiff
path: root/src/mongo/idl/cluster_server_parameter_refresher.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/idl/cluster_server_parameter_refresher.cpp')
-rw-r--r--src/mongo/idl/cluster_server_parameter_refresher.cpp9
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)));