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

Default system operations to be killable by stepdown

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 7.1.0-rc0
    • None
    • None
    • Replication
    • Fully Compatible
    • Repl 2023-03-06, Repl 2023-03-20, Repl 2023-05-01
    • 135

    Description

      There are currently 30ish non-test calls to setSystemOperationKillableByStepdown(). Every time we introduce a new thread, there’s a non-obvious requirement to call that function.

      Failing to do so results in the process crashing if the operation hits a prepare conflict. This is a rare occurence, which means we risk not catching crashing bugs in testing. In addition to the visual clutter, the API risks that developers create new internal threads that are unkilllable when they shouldn't be.

      It seems that there are only a few system operations that actually need to be unkilllable and the vast majority of all threads should be killable.

      We should consider changing the default such that system operations are always killable and have the limited set of special operations explicitly opt-in to being unkillable.

      Attachments

        Activity

          People

            jiawei.yang@mongodb.com Jiawei Yang
            louis.williams@mongodb.com Louis Williams
            Votes:
            1 Vote for this issue
            Watchers:
            12 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: