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

checkForInterrupt() argument "heedMutex" should be removed

    XMLWordPrintableJSON

Details

    • Icon: Improvement Improvement
    • Resolution: Duplicate
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Concurrency
    • None

    Description

      The execution of OperationContext::checkForInterrupt() is currently independent of whether true or false is passed for the "heedMutex" argument ("heedMutex" is only observed if Client::hasWrittenSinceCheckPoint() is true, but it is never true since Client::writeHappened() is no longer called). The "heedMutex" argument should be removed.

      It used to be the case that "heedMutex" controlled whether or not an operation was interruptible after its first write; since writes could not be rolled back, it was important to forbid interrupting partially-completed writes. Now that writes always happen in rollback-enabled containers (WriteUnitOfWork), it should always be safe to interrupt writes.

      Attachments

        Activity

          People

            milkie@mongodb.com Eric Milkie
            rassi J Rassi
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: