diff options
author | Jiawei Yang <jiawei.yang@mongodb.com> | 2023-04-17 21:46:21 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2023-04-25 04:55:00 +0000 |
commit | c35bad3b048e8d885bf0b7517aacd2349ea81d14 (patch) | |
tree | 936b34ac089f00a94f407bfab0fe3d64ecc2deb9 /src/mongo/idl | |
parent | 70d26d65a1e55e4da104f4f150bdc8b6d2ae5b65 (diff) | |
download | mongo-c35bad3b048e8d885bf0b7517aacd2349ea81d14.tar.gz |
SERVER-70127 change system operations to be killable by default
Diffstat (limited to 'src/mongo/idl')
-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))); |