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

Batched catalog writers can run concurrently with HistoricalCatalogIdTracker::cleanup() and lead to incorrect PIT find results.

    • Catalog and Routing
    • Fully Compatible
    • ALL
    • v7.1, v7.0, v6.0, v5.0
    • Execution EMEA Team 2023-09-18
    • 167

      This comment here is incorrect. Timestamp monitor doesn't take global lock while callbacks are executed. This means we can have concurrent batched catalog writers during HistoricalCatalogIdTracker::cleanup() and can result in below bugs- 1) server crash due to this invariant failure 2) more serious data inconsistency bug - Find command returning incorrect results when the sequence is as follows:

      1) HistoricalCatalogIdTracker::cleanup() makes a copy of _nss
      2) HistoricalCatalogIdTracker::Create() updates _nss with new catalog id info
      3) HistoricalCatalogIdTracker::cleanup updates the persistent copy.

            jordi.olivares-provencio@mongodb.com Jordi Olivares Provencio
            suganthi.mani@mongodb.com Suganthi Mani
            0 Vote for this issue
            12 Start watching this issue