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

WiredTigerSession::CursorCache should ensure that checked-out cursor has correct overwrite setting

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Storage
    • Labels:
      None
    • Operating System:
      ALL

      Description

      Right now it does not consider the overwrite setting when deciding whether it can use a cached cursor. It kinda works right now because we always use the same setting for all cursors on a given table, but it is a bug waiting to happen. Also, if we start using LSM trees, there are cases where we would want to mix overwrite settings for a single table.

      Since overwrite is one of the settings that you can change with WT_CURSOR->reconfigure() we are able to reuse cursors created with the wrong overwrite setting. We should check how expensive it is to just always set it to the desired value on checkout to avoid needing to remember what the old value was. This gets more complicated if we allow changing the overwrite setting for some operations on mongodb-level write cursors in SERVER-55337, so even if it is too expensive at first, it is probably better to work with the WT team to make it cheaper than to avoid calling it.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              backlog-server-execution Backlog - Storage Execution Team
              Reporter:
              redbeard0531 Mathias Stearn
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              4 Start watching this issue

                Dates

                Created:
                Updated: