Ejemplo n.º 1
0
    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 );
    }
Ejemplo n.º 2
0
    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);
    }