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

Must ensure backup cursor is really killed before moving on

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 5.2.0
    • None
    • None
    • None
    • Fully Compatible
    • ALL
    • Replication 2021-11-29

    Description

      A very old quirk of DBClientCursor is it will not actually kill a cursor on kill() or on destruction if the global shutdown flag is set. Before closing down WiredTiger for storage change it is necessary that FCBIS ensures the cursor is actually dead. The global shutdown flag is racy, so storage change may run after it is set.

      Solution here is to add a scope guard which will positively kill the cursor using DBClientConnection itself, if the global shutdown flag is set (it can't be unset, so if we missed the close, it will always be set)

      Attachments

        Activity

          People

            matthew.russotto@mongodb.com Matthew Russotto
            matthew.russotto@mongodb.com Matthew Russotto
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: