void Client::abortClientLoad() { uassert( 16888, "Cannot abort client load, none in progress.", loadInProgress() ); shared_ptr<Client::LoadInfo> loadInfo = _loadInfo; _loadInfo.reset(); const string &ns = loadInfo->bulkLoadNS(); LOCK_REASON(lockReason, "loader: aborting load"); Client::WriteContext ctx(ns, lockReason); abortBulkLoad(ns); }
void Client::beginClientLoad(const StringData &ns, const vector<BSONObj> &indexes, const BSONObj &options) { uassert( 16915, "Cannot begin load, one is already in progress", !loadInProgress() ); shared_ptr<Client::LoadInfo> loadInfo(new Client::LoadInfo(ns)); LOCK_REASON(lockReason, "loader: beginning load"); Client::WriteContext ctx(ns, lockReason); beginBulkLoad(ns, indexes, options); _loadInfo = loadInfo; }
void Client::commitClientLoad() { uassert( 16876, "Cannot commit client load, none in progress.", loadInProgress() ); shared_ptr<Client::LoadInfo> loadInfo = _loadInfo; _loadInfo.reset(); const string &ns = loadInfo->bulkLoadNS(); { LOCK_REASON(lockReason, "loader: committing load"); Client::WriteContext ctx(ns, lockReason); commitBulkLoad(ns); } loadInfo->commitTxn(); }
int DocLoader::requestCount() { if (loadInProgress()) return m_requestCount + 1; return m_requestCount; }