diff options
author | Pierlauro Sciarelli <pierlauro.sciarelli@mongodb.com> | 2022-07-26 14:05:49 +0000 |
---|---|---|
committer | Evergreen Agent <no-reply@evergreen.mongodb.com> | 2022-07-26 16:35:30 +0000 |
commit | 056e9a91fcb8f787ea57603905eff3eaac48afef (patch) | |
tree | 9c57f4949842b07d3d691b60812471d93f27084e /src/mongo/db/s/range_deleter_service.h | |
parent | b650ffdb53cd642f43a9105e0478b922e65f08cd (diff) | |
download | mongo-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.h | 9 |
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 |