summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMindaugas Malinauskas <mindaugas.malinauskas@mongodb.com>2022-11-24 15:05:08 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-11-30 14:16:59 +0000
commit15efdbab0a701fb236cbed61ca2d4e6cdd9c734d (patch)
treec79d4debf23ef97c013e94bd2245c1a9a516b930
parent4b00c5844d1ad1b2695958822657a125b70e5c1f (diff)
downloadmongo-15efdbab0a701fb236cbed61ca2d4e6cdd9c734d.tar.gz
SERVER-71568 Fix race condition related to access to ChangeStreamOptions
(cherry picked from commit 92d8c8e3aaf9b4914db3b9fd4a10ef3bb9595f07)
-rw-r--r--src/mongo/db/change_stream_options_manager.cpp2
-rw-r--r--src/mongo/db/change_stream_options_manager.h4
2 files changed, 3 insertions, 3 deletions
diff --git a/src/mongo/db/change_stream_options_manager.cpp b/src/mongo/db/change_stream_options_manager.cpp
index 4c27c32ec6f..42cc16520ad 100644
--- a/src/mongo/db/change_stream_options_manager.cpp
+++ b/src/mongo/db/change_stream_options_manager.cpp
@@ -54,7 +54,7 @@ void ChangeStreamOptionsManager::create(ServiceContext* service) {
getChangeStreamOptionsManager(service).emplace(service);
}
-const ChangeStreamOptions& ChangeStreamOptionsManager::getOptions(OperationContext* opCtx) {
+ChangeStreamOptions ChangeStreamOptionsManager::getOptions(OperationContext* opCtx) const {
stdx::lock_guard<Latch> L(_mutex);
return _changeStreamOptions;
}
diff --git a/src/mongo/db/change_stream_options_manager.h b/src/mongo/db/change_stream_options_manager.h
index ea1fe2a3b47..c6a75294a1b 100644
--- a/src/mongo/db/change_stream_options_manager.h
+++ b/src/mongo/db/change_stream_options_manager.h
@@ -65,7 +65,7 @@ public:
/**
* Returns the change-streams options.
*/
- const ChangeStreamOptions& getOptions(OperationContext* opCtx);
+ ChangeStreamOptions getOptions(OperationContext* opCtx) const;
/**
* Sets the provided change-streams options. Returns OK on success, otherwise appropriate error
@@ -87,7 +87,7 @@ private:
ChangeStreamOptions _changeStreamOptions;
- Mutex _mutex = MONGO_MAKE_LATCH("ChangeStreamOptionsManager::mutex");
+ mutable Mutex _mutex = MONGO_MAKE_LATCH("ChangeStreamOptionsManager::mutex");
};
} // namespace mongo