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

Audit and fix session->open_cursor calls to handle EBUSY

    XMLWordPrintableJSON

Details

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.7.0
    • None
    • Storage
    • None
    • Storage Execution
    • Fully Compatible
    • ALL
    • Execution Team 2020-06-01
    • 16

    Description

      After we removed Collection locking for oplog readers (they only need Global IS), this stopped protecting such readers from concurrent validate commands locking the WiredTiger oplog collection's table with calls to WT verify(). Thus, open_cursor() can now return EBUSY, but only for the oplog collection. This is captured and handled for most cursor usage via WiredTigerSession's cursor cache, but we also have some internal code in wiredtiger_kv_engine.cpp and wiredtiger_record_store.cpp that bypasses this and calls open_cursor() themselves. These callers need to also check for EBUSY.

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            milkie@mongodb.com Eric Milkie
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: