Exemplo n.º 1
0
    void replicateFullTransactionToOplog(BSONObj& o, OplogReader& r, bool* bigTxn) {
        *bigTxn = false;
        if (o.hasElement("ref")) {
            OID oid = o["ref"].OID();
            LOG(3) << "oplog ref " << oid << endl;
            copyOplogRefsRange(r, oid);
            *bigTxn = true;
        }

        Client::ReadContext ctx(rsoplog);
        replicateTransactionToOplog(o);
    }
Exemplo n.º 2
0
    void replicateFullTransactionToOplog(BSONObj& o, OplogReader& r, bool* bigTxn) {
        *bigTxn = false;
        if (o.hasElement("ref")) {
            OID oid = o["ref"].OID();
            LOG(3) << "oplog ref " << oid << endl;
            copyOplogRefsRange(r, oid);
            *bigTxn = true;
        }

        LOCK_REASON(lockReason, "repl: copying entry to local oplog");
        Client::ReadContext ctx(rsoplog, lockReason);
        replicateTransactionToOplog(o);
    }