summaryrefslogtreecommitdiff
path: root/src/mongo/client/replica_set_monitor_manager.cpp
diff options
context:
space:
mode:
authorDavis Haupt <davis.haupt@mongodb.com>2022-01-19 19:41:56 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-01-19 20:17:16 +0000
commitac9d5b9ea14af74e9b4ba3bad952cf4442fa4b93 (patch)
tree560e6f5b2dd5662999b639bb02b8540ab9a14e7b /src/mongo/client/replica_set_monitor_manager.cpp
parentd20d317c08fd48b71f790c1bb013aa61c6f0f4b7 (diff)
downloadmongo-ac9d5b9ea14af74e9b4ba3bad952cf4442fa4b93.tar.gz
SERVER-62079 removes rsm scanning
Diffstat (limited to 'src/mongo/client/replica_set_monitor_manager.cpp')
-rw-r--r--src/mongo/client/replica_set_monitor_manager.cpp64
1 files changed, 27 insertions, 37 deletions
diff --git a/src/mongo/client/replica_set_monitor_manager.cpp b/src/mongo/client/replica_set_monitor_manager.cpp
index 3919437676a..f48832015cd 100644
--- a/src/mongo/client/replica_set_monitor_manager.cpp
+++ b/src/mongo/client/replica_set_monitor_manager.cpp
@@ -40,7 +40,6 @@
#include "mongo/client/mongo_uri.h"
#include "mongo/client/replica_set_monitor.h"
#include "mongo/client/replica_set_monitor_server_parameters.h"
-#include "mongo/client/scanning_replica_set_monitor.h"
#include "mongo/client/streamable_replica_set_monitor.h"
#include "mongo/executor/network_connection_hook.h"
#include "mongo/executor/network_interface_factory.h"
@@ -75,34 +74,31 @@ Status ReplicaSetMonitorManagerNetworkConnectionHook::validateHost(
const HostAndPort& remoteHost,
const BSONObj& isMasterRequest,
const executor::RemoteCommandResponse& isMasterReply) {
- if (gReplicaSetMonitorProtocol != ReplicaSetMonitorProtocol::kScanning) {
- auto monitor = ReplicaSetMonitorManager::get()->getMonitorForHost(remoteHost);
- if (!monitor) {
- return Status::OK();
- }
+ auto monitor = ReplicaSetMonitorManager::get()->getMonitorForHost(remoteHost);
+ if (!monitor) {
+ return Status::OK();
+ }
- if (std::shared_ptr<StreamableReplicaSetMonitor> streamableMonitor =
- std::dynamic_pointer_cast<StreamableReplicaSetMonitor>(
- ReplicaSetMonitorManager::get()->getMonitorForHost(remoteHost))) {
-
- auto publisher = streamableMonitor->getEventsPublisher();
- if (publisher) {
- try {
- if (isMasterReply.status.isOK()) {
- publisher->onServerHandshakeCompleteEvent(
- *isMasterReply.elapsed, remoteHost, isMasterReply.data);
- } else {
- publisher->onServerHandshakeFailedEvent(
- remoteHost, isMasterReply.status, isMasterReply.data);
- }
- } catch (const DBException& exception) {
- LOGV2_ERROR(4712101,
- "An error occurred publishing a ReplicaSetMonitor handshake event",
- "error"_attr = exception.toStatus(),
- "replicaSet"_attr = monitor->getName(),
- "handshakeStatus"_attr = isMasterReply.status);
- return exception.toStatus();
+ if (auto streamableMonitor = std::dynamic_pointer_cast<StreamableReplicaSetMonitor>(
+ ReplicaSetMonitorManager::get()->getMonitorForHost(remoteHost))) {
+
+ auto publisher = streamableMonitor->getEventsPublisher();
+ if (publisher) {
+ try {
+ if (isMasterReply.status.isOK()) {
+ publisher->onServerHandshakeCompleteEvent(
+ *isMasterReply.elapsed, remoteHost, isMasterReply.data);
+ } else {
+ publisher->onServerHandshakeFailedEvent(
+ remoteHost, isMasterReply.status, isMasterReply.data);
}
+ } catch (const DBException& exception) {
+ LOGV2_ERROR(4712101,
+ "An error occurred publishing a ReplicaSetMonitor handshake event",
+ "error"_attr = exception.toStatus(),
+ "replicaSet"_attr = monitor->getName(),
+ "handshakeStatus"_attr = isMasterReply.status);
+ return exception.toStatus();
}
}
}
@@ -197,16 +193,10 @@ shared_ptr<ReplicaSetMonitor> ReplicaSetMonitorManager::getOrCreateMonitor(
"protocol"_attr = toString(gReplicaSetMonitorProtocol),
"uri"_attr = uri.toString());
invariant(_taskExecutor);
- if (gReplicaSetMonitorProtocol == ReplicaSetMonitorProtocol::kScanning) {
- newMonitor =
- std::make_shared<ScanningReplicaSetMonitor>(uri, _taskExecutor, cleanupCallback);
- newMonitor->init();
- } else {
- // Both ReplicaSetMonitorProtocol::kSdam and ReplicaSetMonitorProtocol::kStreamable use the
- // StreamableReplicaSetMonitor.
- newMonitor = StreamableReplicaSetMonitor::make(
- uri, _taskExecutor, _getConnectionManager(), cleanupCallback, _stats);
- }
+
+ newMonitor = StreamableReplicaSetMonitor::make(
+ uri, _taskExecutor, _getConnectionManager(), cleanupCallback, _stats);
+
_monitors[setName] = newMonitor;
_numMonitorsCreated++;
return newMonitor;