diff options
Diffstat (limited to 'src/mongo/db/s/metadata_manager.cpp')
-rw-r--r-- | src/mongo/db/s/metadata_manager.cpp | 30 |
1 files changed, 15 insertions, 15 deletions
diff --git a/src/mongo/db/s/metadata_manager.cpp b/src/mongo/db/s/metadata_manager.cpp index 4926fe86508..8364929ad36 100644 --- a/src/mongo/db/s/metadata_manager.cpp +++ b/src/mongo/db/s/metadata_manager.cpp @@ -186,7 +186,7 @@ public: } ~RangePreserver() { - stdx::lock_guard<stdx::mutex> managerLock(_metadataManager->_managerLock); + stdx::lock_guard<Latch> managerLock(_metadataManager->_managerLock); invariant(_metadataTracker->usageCounter != 0); if (--_metadataTracker->usageCounter == 0) { @@ -245,7 +245,7 @@ void MetadataManager::_clearAllCleanups(WithLock, Status status) { boost::optional<ScopedCollectionMetadata> MetadataManager::getActiveMetadata( std::shared_ptr<MetadataManager> self, const boost::optional<LogicalTime>& atClusterTime) { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); if (_metadata.empty()) { return boost::none; @@ -282,7 +282,7 @@ boost::optional<ScopedCollectionMetadata> MetadataManager::getActiveMetadata( } size_t MetadataManager::numberOfMetadataSnapshots() const { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); if (_metadata.empty()) return 0; @@ -290,7 +290,7 @@ size_t MetadataManager::numberOfMetadataSnapshots() const { } int MetadataManager::numberOfEmptyMetadataSnapshots() const { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); int emptyMetadataSnapshots = 0; for (const auto& collMetadataTracker : _metadata) { @@ -302,7 +302,7 @@ int MetadataManager::numberOfEmptyMetadataSnapshots() const { } void MetadataManager::setFilteringMetadata(CollectionMetadata remoteMetadata) { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); // Collection is becoming sharded if (_metadata.empty()) { @@ -365,7 +365,7 @@ void MetadataManager::setFilteringMetadata(CollectionMetadata remoteMetadata) { } void MetadataManager::clearFilteringMetadata() { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); _receivingChunks.clear(); _clearAllCleanups(lg); _metadata.clear(); @@ -407,7 +407,7 @@ void MetadataManager::_retireExpiredMetadata(WithLock lock) { } void MetadataManager::toBSONPending(BSONArrayBuilder& bb) const { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); for (auto it = _receivingChunks.begin(); it != _receivingChunks.end(); ++it) { BSONArrayBuilder pendingBB(bb.subarrayStart()); @@ -418,7 +418,7 @@ void MetadataManager::toBSONPending(BSONArrayBuilder& bb) const { } void MetadataManager::append(BSONObjBuilder* builder) const { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); _rangesToClean.append(builder); @@ -463,7 +463,7 @@ void MetadataManager::_pushListToClean(WithLock, std::list<Deletion> ranges) { } auto MetadataManager::beginReceive(ChunkRange const& range) -> CleanupNotification { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); invariant(!_metadata.empty()); if (_overlapsInUseChunk(lg, range)) { @@ -480,7 +480,7 @@ auto MetadataManager::beginReceive(ChunkRange const& range) -> CleanupNotificati } void MetadataManager::forgetReceive(ChunkRange const& range) { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); invariant(!_metadata.empty()); // This is potentially a partially received chunk, which needs to be cleaned up. We know none @@ -499,7 +499,7 @@ void MetadataManager::forgetReceive(ChunkRange const& range) { auto MetadataManager::cleanUpRange(ChunkRange const& range, Date_t whenToDelete) -> CleanupNotification { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); invariant(!_metadata.empty()); auto* const activeMetadata = _metadata.back().get(); @@ -536,7 +536,7 @@ auto MetadataManager::cleanUpRange(ChunkRange const& range, Date_t whenToDelete) } size_t MetadataManager::numberOfRangesToCleanStillInUse() const { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); size_t count = 0; for (auto& tracker : _metadata) { count += tracker->orphans.size(); @@ -545,13 +545,13 @@ size_t MetadataManager::numberOfRangesToCleanStillInUse() const { } size_t MetadataManager::numberOfRangesToClean() const { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); return _rangesToClean.size(); } auto MetadataManager::trackOrphanedDataCleanup(ChunkRange const& range) const -> boost::optional<CleanupNotification> { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); auto overlaps = _overlapsInUseCleanups(lg, range); if (overlaps) { return overlaps; @@ -604,7 +604,7 @@ auto MetadataManager::_overlapsInUseCleanups(WithLock, ChunkRange const& range) } boost::optional<ChunkRange> MetadataManager::getNextOrphanRange(BSONObj const& from) const { - stdx::lock_guard<stdx::mutex> lg(_managerLock); + stdx::lock_guard<Latch> lg(_managerLock); invariant(!_metadata.empty()); return _metadata.back()->metadata->getNextOrphanRange(_receivingChunks, from); } |