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

Ensure reading of consistent config.collections and config.chunks when refreshing the CatalogCache

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Closed
    • Priority: Major - P3
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 4.9.0
    • Component/s: Sharding
    • Backwards Compatibility:
      Fully Compatible
    • Sprint:
      Sharding 2021-03-22
    • Linked BF Score:
      126

      Description

      Currently, when the ConfigServerCatalogCache refreshes, it first issues a majority read on config.collections and after that it issues a second majority read on config.chunks Because of this, the collection metadata we read from config.collections may not be consistent with the chunks (and thus collection version) we read from config.chunks.

      To address this we need to ensure that we read config.collections and config.chunks 'as a package'. To do so, we can use an aggregation pipeline on config.collections that has a $lookUp stage from config.chunks, and attach a snapshot read concern.

        Attachments

          Issue Links

            Activity

              People

              Assignee:
              jordi.serra-torrens Jordi Serra Torrens
              Reporter:
              jordi.serra-torrens Jordi Serra Torrens
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated:
                Resolved: