summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/range_deleter_service.h
diff options
context:
space:
mode:
authorPierlauro Sciarelli <pierlauro.sciarelli@mongodb.com>2022-07-26 14:05:49 +0000
committerEvergreen Agent <no-reply@evergreen.mongodb.com>2022-07-26 16:35:30 +0000
commit056e9a91fcb8f787ea57603905eff3eaac48afef (patch)
tree9c57f4949842b07d3d691b60812471d93f27084e /src/mongo/db/s/range_deleter_service.h
parentb650ffdb53cd642f43a9105e0478b922e65f08cd (diff)
downloadmongo-056e9a91fcb8f787ea57603905eff3eaac48afef.tar.gz
SERVER-68042 Registration of duplicate range deletion task must return original completion future
Diffstat (limited to 'src/mongo/db/s/range_deleter_service.h')
-rw-r--r--src/mongo/db/s/range_deleter_service.h9
1 files changed, 5 insertions, 4 deletions
diff --git a/src/mongo/db/s/range_deleter_service.h b/src/mongo/db/s/range_deleter_service.h
index 3d090dfda6a..19336603d47 100644
--- a/src/mongo/db/s/range_deleter_service.h
+++ b/src/mongo/db/s/range_deleter_service.h
@@ -69,7 +69,7 @@ private:
: ChunkRange(task.getRange().getMin(), task.getRange().getMax()),
_completion(completion) {}
- SharedSemiFuture<void> getCompletionFuture() {
+ SharedSemiFuture<void> getCompletionFuture() const {
return _completion;
}
@@ -86,13 +86,14 @@ private:
* sharded collection).
*/
struct RANGES_COMPARATOR {
- bool operator()(const ChunkRange& a, const ChunkRange& b) const {
- return a.getMin().woCompare(b.getMin()) < 0;
+ bool operator()(const std::shared_ptr<ChunkRange>& a,
+ const std::shared_ptr<ChunkRange>& b) const {
+ return a->getMin().woCompare(b->getMin()) < 0;
}
};
// Keeping track of per-collection registered range deletion tasks
- stdx::unordered_map<UUID, std::set<ChunkRange, RANGES_COMPARATOR>, UUID::Hash>
+ stdx::unordered_map<UUID, std::set<std::shared_ptr<ChunkRange>, RANGES_COMPARATOR>, UUID::Hash>
_rangeDeletionTasks;
// Mono-threaded executor processing range deletion tasks