diff options
Diffstat (limited to 'src/mongo/db/repl/tenant_collection_cloner_test.cpp')
-rw-r--r-- | src/mongo/db/repl/tenant_collection_cloner_test.cpp | 82 |
1 files changed, 0 insertions, 82 deletions
diff --git a/src/mongo/db/repl/tenant_collection_cloner_test.cpp b/src/mongo/db/repl/tenant_collection_cloner_test.cpp index b98c6f129e6..376c2aa2acf 100644 --- a/src/mongo/db/repl/tenant_collection_cloner_test.cpp +++ b/src/mongo/db/repl/tenant_collection_cloner_test.cpp @@ -462,88 +462,6 @@ TEST_F(TenantCollectionClonerTest, InsertDocumentsMultipleBatches) { ASSERT_EQUALS(3u, stats.receivedBatches); } -TEST_F(TenantCollectionClonerTest, InsertDocumentsScheduleDBWorkFailed) { - // Set up data for preliminary stages - _mockServer->setCommandReply("count", createCountResponse(3)); - _mockServer->setCommandReply("listIndexes", - createCursorResponse(_nss.ns(), BSON_ARRAY(_idIndexSpec))); - _mockServer->setCommandReply("find", createFindResponse()); - - // Set up documents to be returned from upstream node. - _mockServer->insert(_nss.ns(), BSON("_id" << 1)); - _mockServer->insert(_nss.ns(), BSON("_id" << 2)); - _mockServer->insert(_nss.ns(), BSON("_id" << 3)); - - auto cloner = makeCollectionCloner(); - // Stop before running the query to set up the failure. - auto collClonerBeforeFailPoint = globalFailPointRegistry().find("hangBeforeClonerStage"); - auto timesEntered = collClonerBeforeFailPoint->setMode( - FailPoint::alwaysOn, - 0, - fromjson("{cloner: 'TenantCollectionCloner', stage: 'query', nss: '" + _nss.ns() + "'}")); - - // Run the cloner in a separate thread. - stdx::thread clonerThread([&] { - Client::initThread("ClonerRunner"); - ASSERT_EQUALS(ErrorCodes::UnknownError, cloner->run()); - }); - // Wait for the failpoint to be reached - collClonerBeforeFailPoint->waitForTimesEntered(timesEntered + 1); - // Replace scheduleDbWork function so that cloner will fail to schedule DB work after - // getting documents. - cloner->setScheduleDbWorkFn_forTest([](const executor::TaskExecutor::CallbackFn& workFn) { - return StatusWith<executor::TaskExecutor::CallbackHandle>(ErrorCodes::UnknownError, ""); - }); - - // Continue and finish. Final status is checked in the thread. - collClonerBeforeFailPoint->setMode(FailPoint::off, 0); - clonerThread.join(); -} - -TEST_F(TenantCollectionClonerTest, InsertDocumentsCallbackCanceled) { - // Set up data for preliminary stages - _mockServer->setCommandReply("count", createCountResponse(3)); - _mockServer->setCommandReply("listIndexes", - createCursorResponse(_nss.ns(), BSON_ARRAY(_idIndexSpec))); - _mockServer->setCommandReply("find", createFindResponse()); - - // Set up documents to be returned from upstream node. - _mockServer->insert(_nss.ns(), BSON("_id" << 1)); - _mockServer->insert(_nss.ns(), BSON("_id" << 2)); - _mockServer->insert(_nss.ns(), BSON("_id" << 3)); - - auto cloner = makeCollectionCloner(); - // Stop before running the query to set up the failure. - auto collClonerBeforeFailPoint = globalFailPointRegistry().find("hangBeforeClonerStage"); - auto timesEntered = collClonerBeforeFailPoint->setMode( - FailPoint::alwaysOn, - 0, - fromjson("{cloner: 'TenantCollectionCloner', stage: 'query', nss: '" + _nss.ns() + "'}")); - - // Run the cloner in a separate thread. - stdx::thread clonerThread([&] { - Client::initThread("ClonerRunner"); - ASSERT_EQUALS(ErrorCodes::CallbackCanceled, cloner->run()); - }); - // Wait for the failpoint to be reached - collClonerBeforeFailPoint->waitForTimesEntered(timesEntered + 1); - // Replace scheduleDbWork function so that cloner will fail to schedule DB work after - // getting documents. - cloner->setScheduleDbWorkFn_forTest([&](const executor::TaskExecutor::CallbackFn& workFn) { - executor::TaskExecutor::CallbackHandle handle(std::make_shared<MockCallbackState>()); - mongo::executor::TaskExecutor::CallbackArgs args{ - nullptr, - handle, - {ErrorCodes::CallbackCanceled, "Never run, but treat like cancelled."}}; - workFn(args); - return StatusWith<executor::TaskExecutor::CallbackHandle>(handle); - }); - - // Continue and finish. Final status is checked in the thread. - collClonerBeforeFailPoint->setMode(FailPoint::off, 0); - clonerThread.join(); -} - TEST_F(TenantCollectionClonerTest, InsertDocumentsFailed) { // Set up data for preliminary stages _mockServer->setCommandReply("count", createCountResponse(3)); |