Uploaded image for project: 'WiredTiger'
  1. WiredTiger
  2. WT-5480

Don't take threads resolving prepared transactions to assist with eviction

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: WT3.2.2, 4.2.4, 4.3.4
    • Component/s: None
    • Labels:
      None
    • Story Points:
      3
    • Sprint:
      Storage Engines 2020-01-27, Storage Engines 2020-02-10
    • Backport Requested:
      v4.2

      Description

      Summary:
      Follow-on to WT-5387, don't take threads that are resolving prepared transactions to assist with eviction.


      As part of WT-5387, we made changes to reuse cursors when resolving prepared operations on behalf of transaction resolution or timestamp checking, rather than opening a new cursor for every prepared operation. That change requires the cursor discard its held hazard pointer after each operation.

      The standard functions to discard cursor hazard pointers also do additional housekeeping work, like allocating snapshots and checking the cache. If the cache is struggling and the cursor is "idle", the thread is tasked with helping out eviction. If the cache is struggling, taking a cursor that's resolving a transaction to assist with eviction is the wrong choice, letting the transaction resolve is likely to allow pages to be evicted, and it's unlikely to be making the situation worse.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              keith.bostic Keith Bostic
              Reporter:
              keith.bostic Keith Bostic
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: