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

Avoid updating the stable timestamp in WiredTiger unnecessarily

    • Type: Icon: Task Task
    • Resolution: Works as Designed
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Replication, Storage
    • None
    • Storage Execution
    • 0

      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.

            Assignee:
            backlog-server-execution [DO NOT USE] Backlog - Storage Execution Team
            Reporter:
            william.schultz@mongodb.com Will Schultz
            Votes:
            0 Vote for this issue
            Watchers:
            8 Start watching this issue

              Created:
              Updated:
              Resolved: