Dirty writes to _metadata can be set to clean without flushing to disk

XMLWordPrintableJSON

    • Type: Bug
    • Resolution: Fixed
    • Priority: Major - P3
    • 8.3.0-rc0
    • Affects Version/s: None
    • Component/s: None
    • Storage Execution
    • Fully Compatible
    • Storage Execution 2026-02-16
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Came out of an investigation of false positive Coverity ticket. We currently make a copy of a snapshot of _metadata here and write this disk to value. After writing this value out, we update the real _metadata value for that key here, setting its dirty flag to false.

      However, any writer can acquire the lock and write to the real _metadata while we are operating on the snapshot of metadata state. If a thread writing to a collection calls commit on the same collection that we are flushing writes for, after flushing the write we will set the dirty flag for this collection to false without having written the latest _metadata value for that collection to disk.

            Assignee:
            Damian Wasilewicz
            Reporter:
            Damian Wasilewicz
            Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

              Created:
              Updated:
              Resolved: