void updateSlaveLocation( CurOp& curop, const char * ns , OpTime lastOp ){ if ( lastOp.isNull() ) return; assert( strstr( ns , "local.oplog.$" ) == ns ); BSONObj rid = curop.getClient()->getRemoteID(); if ( rid.isEmpty() ) return; slaveTracking.update( rid , curop.getRemoteString( false ) , ns , lastOp ); }
void ClientCursor::updateSlaveLocation(OperationContext* txn, CurOp& curop) { if (_slaveReadTill.isNull()) return; verify(str::startsWith(_ns.c_str(), "local.oplog.")); Client* c = curop.getClient(); verify(c); OID rid = c->getRemoteID(); if (!rid.isSet()) return; repl::getGlobalReplicationCoordinator()->setLastOptimeForSlave(rid, _slaveReadTill); }