diff options
Diffstat (limited to 'src/mongo/db/transaction/transaction_api.cpp')
-rw-r--r-- | src/mongo/db/transaction/transaction_api.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/mongo/db/transaction/transaction_api.cpp b/src/mongo/db/transaction/transaction_api.cpp index c778d81f97c..9dd92deb5d3 100644 --- a/src/mongo/db/transaction/transaction_api.cpp +++ b/src/mongo/db/transaction/transaction_api.cpp @@ -425,11 +425,13 @@ SemiFuture<std::vector<BSONObj>> SEPTransactionClient::exhaustiveFind( const FindCommandRequest& cmd) const { return runCommand(cmd.getDbName().db(), cmd.toBSON({})) .thenRunOn(_executor) - .then([this, batchSize = cmd.getBatchSize()](BSONObj reply) { + .then([this, batchSize = cmd.getBatchSize(), tenantId = cmd.getDbName().tenantId()]( + BSONObj reply) { auto cursorResponse = std::make_shared<CursorResponse>( - uassertStatusOK(CursorResponse::parseFromBSON(reply))); + uassertStatusOK(CursorResponse::parseFromBSON(reply, nullptr, tenantId))); auto response = std::make_shared<std::vector<BSONObj>>(); return AsyncTry([this, + tenantId, batchSize = batchSize, cursorResponse = std::move(cursorResponse), response]() mutable { @@ -450,11 +452,11 @@ SemiFuture<std::vector<BSONObj>> SEPTransactionClient::exhaustiveFind( return runCommand(cursorResponse->getNSS().db(), getMoreRequest.toBSON({})) .thenRunOn(_executor) - .then([response, cursorResponse](BSONObj reply) { + .then([response, cursorResponse, tenantId](BSONObj reply) { // We keep the state of cursorResponse to be able to check the // cursorId in the next iteration. - *cursorResponse = - uassertStatusOK(CursorResponse::parseFromBSON(reply)); + *cursorResponse = uassertStatusOK( + CursorResponse::parseFromBSON(reply, nullptr, tenantId)); uasserted(ErrorCodes::InternalTransactionsExhaustiveFindHasMore, "More documents to fetch"); }) |