BSONObj generateSection(OperationContext* opCtx, const BSONElement& configElement) const { ReplicationCoordinator* replCoord = ReplicationCoordinator::get(opCtx); if (!replCoord->isReplEnabled()) { return BSONObj(); } BSONObjBuilder result; // TODO(siyuan) Output term of OpTime result.append("latestOptime", replCoord->getMyLastAppliedOpTime().getTimestamp()); BSONObj o; uassert(17347, "Problem reading earliest entry from oplog", Helpers::getSingleton(opCtx, NamespaceString::kRsOplogNamespace.ns().c_str(), o)); result.append("earliestOptime", o["ts"].timestamp()); return result.obj(); }
BSONObj generateSection(OperationContext* txn, const BSONElement& configElement) const { ReplicationCoordinator* replCoord = getGlobalReplicationCoordinator(); if (!replCoord->isReplEnabled()) { return BSONObj(); } BSONObjBuilder result; // TODO(siyuan) Output term of OpTime result.append("latestOptime", replCoord->getMyLastOptime().getTimestamp()); const std::string& oplogNS = replCoord->getReplicationMode() == ReplicationCoordinator::modeReplSet ? rsOplogName : masterSlaveOplogName; BSONObj o; uassert(17347, "Problem reading earliest entry from oplog", Helpers::getSingleton(txn, oplogNS.c_str(), o)); result.append("earliestOptime", o["ts"].timestamp()); return result.obj(); }
void ReplClientInfo::setLastOpToSystemLastOpTime(OperationContext* txn) { ReplicationCoordinator* replCoord = repl::ReplicationCoordinator::get(txn->getServiceContext()); if (replCoord->isReplEnabled() && txn->writesAreReplicated()) { setLastOp(replCoord->getMyLastOptime()); } }