summaryrefslogtreecommitdiff
path: root/src/mongo/db/s/resharding/resharding_donor_service.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/mongo/db/s/resharding/resharding_donor_service.cpp')
-rw-r--r--src/mongo/db/s/resharding/resharding_donor_service.cpp8
1 files changed, 3 insertions, 5 deletions
diff --git a/src/mongo/db/s/resharding/resharding_donor_service.cpp b/src/mongo/db/s/resharding/resharding_donor_service.cpp
index 79c16d97ddf..05aaf0b4d05 100644
--- a/src/mongo/db/s/resharding/resharding_donor_service.cpp
+++ b/src/mongo/db/s/resharding/resharding_donor_service.cpp
@@ -142,6 +142,7 @@ ReshardingDonorService::DonorStateMachine::DonorStateMachine(
const ReshardingDonorDocument& donorDoc)
: repl::PrimaryOnlyService::TypedInstance<DonorStateMachine>(),
_metadata{donorDoc.getCommonReshardingMetadata()},
+ _recipientShardIds{donorDoc.getRecipientShards()},
_donorCtx{donorDoc.getMutableState()} {}
ReshardingDonorService::DonorStateMachine::~DonorStateMachine() {
@@ -373,10 +374,7 @@ void ReshardingDonorService::DonorStateMachine::
try {
Timer latency;
- const auto recipients =
- getRecipientShards(rawOpCtx, _metadata.getSourceNss(), _metadata.getSourceUUID());
-
- for (const auto& recipient : recipients) {
+ for (const auto& recipient : _recipientShardIds) {
auto oplog = generateOplogEntry(recipient);
writeConflictRetry(
rawOpCtx,
@@ -403,7 +401,7 @@ void ReshardingDonorService::DonorStateMachine::
"Committed oplog entries to temporarily block writes for resharding",
"namespace"_attr = _metadata.getSourceNss(),
"reshardingUUID"_attr = _metadata.getReshardingUUID(),
- "numRecipients"_attr = recipients.size(),
+ "numRecipients"_attr = _recipientShardIds.size(),
"duration"_attr = duration_cast<Milliseconds>(latency.elapsed()));
ensureFulfilledPromise(lg, _finalOplogEntriesWritten);
}