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

Enhancing shard-local catalog commit as a single applyOps

    • Type: Icon: Improvement Improvement
    • Resolution: Unresolved
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Catalog and Routing

      Currently, SERVER-99804 introduces a new oplog 'c' entry (`onDatabaseMetadataUpdate`). This entry notifies secondary nodes to populate the shard-local catalog cache (DSS).

      There are two supported operations for committing to the shard-local catalog: inserting database metadata and removing database metadata. Both operations involve a sequence of writes to a shard-local replicated collection (specifically, `config.shard.databases` for database metadata), followed by an oplog 'c' entry to maintain the cache on secondary nodes. Currently, the write operations are performed within a single storage transaction (using a WUOW), while the oplog 'c' entry is processed in a separate transaction.

      To improve this process, we aim to apply both the writes and the oplog 'c' entry within the same storage transaction (WUOW with kGroupForTransaction), allowing them to be executed as a single applyOps.

            Assignee:
            Unassigned Unassigned
            Reporter:
            pol.pinol@mongodb.com Pol Pinol
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated: