summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--client/dbclient_rs.cpp7
1 files changed, 5 insertions, 2 deletions
diff --git a/client/dbclient_rs.cpp b/client/dbclient_rs.cpp
index 3da036326aa..37f62259650 100644
--- a/client/dbclient_rs.cpp
+++ b/client/dbclient_rs.cpp
@@ -463,9 +463,12 @@ namespace mongo {
if ( ! _slave->isFailed() )
return _slave.get();
_monitor->notifySlaveFailure( _slaveHost );
+ _slaveHost = _monitor->getSlave();
}
-
- _slaveHost = _monitor->getSlave();
+ else {
+ _slaveHost = h;
+ }
+
_slave.reset( new DBClientConnection( true , this ) );
_slave->connect( _slaveHost );
_auth( _slave.get() );