summaryrefslogtreecommitdiff
path: root/src/mongo/db/change_stream_change_collection_manager.cpp
diff options
context:
space:
mode:
authorRishab Joshi <rishab.joshi@mongodb.com>2022-08-12 15:38:54 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-08-23 21:07:02 +0000
commit9ca61a6d178ec3bb2fe46c93e31c6ac3a503c75d (patch)
tree9445294b6ad483ffbe4723f10d0ad7f64989ea0d /src/mongo/db/change_stream_change_collection_manager.cpp
parent9d47a813c02607ff8fb4fbc50b544ebeb494ce85 (diff)
downloadmongo-9ca61a6d178ec3bb2fe46c93e31c6ac3a503c75d.tar.gz
SERVER-67634 Ensure that change collections are never used on config
servers.
Diffstat (limited to 'src/mongo/db/change_stream_change_collection_manager.cpp')
-rw-r--r--src/mongo/db/change_stream_change_collection_manager.cpp6
1 files changed, 6 insertions, 0 deletions
diff --git a/src/mongo/db/change_stream_change_collection_manager.cpp b/src/mongo/db/change_stream_change_collection_manager.cpp
index d085b514d18..5559e49390a 100644
--- a/src/mongo/db/change_stream_change_collection_manager.cpp
+++ b/src/mongo/db/change_stream_change_collection_manager.cpp
@@ -46,6 +46,7 @@
#include "mongo/db/repl/apply_ops_command_info.h"
#include "mongo/db/repl/oplog.h"
#include "mongo/db/repl/oplog_entry_gen.h"
+#include "mongo/db/server_options.h"
#include "mongo/logv2/log.h"
namespace mongo {
@@ -200,6 +201,11 @@ void ChangeStreamChangeCollectionManager::create(ServiceContext* service) {
}
bool ChangeStreamChangeCollectionManager::isChangeCollectionsModeActive() {
+ // A change collection must not be enabled on the config server.
+ if (serverGlobalParams.clusterRole == ClusterRole::ConfigServer) {
+ return false;
+ }
+
// If the force fail point is enabled then declare the change collection mode as active.
if (MONGO_unlikely(forceEnableChangeCollectionsMode.shouldFail())) {
return true;