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

Avoid updating the stable timestamp in WiredTiger unnecessarily

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Works as Designed
    • Icon: Major - P3 Major - P3
    • None
    • None
    • Replication, Storage
    • None
    • Storage Execution
    • 0

    Description

      Currently, every time we update our last applied op time, we make a call to the StorageInterface::setStableTimestamp method after we compute the stable timestamp, which in turn calls into wiredTiger to inform it of the new value. This may be somewhat costly, as the storage engine may need to acquire an internal mutex every time it updates this value, so we would like to avoid these calls when possible.

      One simple fix would be to keep a cached value of the stable timestamp in the storage engine glue code, and simply see if the new stable timestamp value differs from the current value. If it is the same, there is no need to make a call to the storage engine.

      Attachments

        Activity

          People

            backlog-server-execution Backlog - Storage Execution Team
            william.schultz@mongodb.com William Schultz (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: