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

MovePrimaryDonorService Can Lose Abort Reason If Aborted During State Transition

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major - P3
    • Resolution: Fixed
    • None
    • 7.0.0-rc0
    • None
    • 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

    Attachments

      Activity

        People

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

          Dates

            Created:
            Updated:
            Resolved: