[SERVER-75625] MovePrimaryDonorService Can Lose Abort Reason If Aborted During State Transition Created: 03/Apr/23  Updated: 29/Oct/23  Resolved: 05/Apr/23

Status: Closed
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: 7.0.0-rc0

Type: Bug Priority: Major - P3
Reporter: Brett Nawrocki Assignee: Brett Nawrocki
Resolution: Fixed Votes: 0
Labels: sharding-nyc-subteam1
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
Backwards Compatibility: Fully Compatible
Operating System: ALL
Steps To Reproduce:

TEST_F(MovePrimaryDonorServiceTest, AbortDuringPartialStateTransitionMaintainsAbortReason) {
    auto opCtx = makeOperationContext();
    auto [fp, count] = pauseStateTransition(kPartial, MovePrimaryDonorStateEnum::kInitializing);
    auto instance = createInstance(opCtx.get());
    fp->waitForTimesEntered(count + 1);
    instance->abort(kAbortedError);
    fp->setMode(FailPoint::off);
    instance->onReadyToForget();
    ASSERT_EQ(instance->getCompletionFuture().getNoThrow(), kAbortedError);
}

Sprint: Evergreen 2023-04-03
Participants:
Linked BF Score: 45

 Comments   
Comment by Githook User [ 05/Apr/23 ]

Author:

{'name': 'Brett Nawrocki', 'email': 'brett.nawrocki@mongodb.com', 'username': 'brettnawrocki'}

Message: SERVER-75625 Fix MovePrimaryDonor state transitions clobber abort reason
Branch: master
https://github.com/mongodb/mongo/commit/d22465c5a71c5bdc39d2dfbfd714f4a151318c5a

Generated at Thu Feb 08 06:30:39 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.