Uploaded image for project: 'Core Server'
  1. Core Server
  2. SERVER-75625

MovePrimaryDonorService Can Lose Abort Reason If Aborted During State Transition

    • Fully Compatible
    • ALL
    • Hide
      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);
      }
      
      Show
      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); }
    • Evergreen 2023-04-03
    • 45

          Assignee:
          brett.nawrocki@mongodb.com Brett Nawrocki
          Reporter:
          brett.nawrocki@mongodb.com Brett Nawrocki
          Votes:
          0 Vote for this issue
          Watchers:
          2 Start watching this issue

            Created:
            Updated:
            Resolved: