Make secondaries refresh their database metadata from the persisted database cache

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 3.7.4
    • Affects Version/s: 3.7.1
    • Component/s: Sharding
    • Fully Compatible
    • Sharding 2018-03-12, Sharding 2018-04-09
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      We can do this by creating a 'config.cache.databases' collection on shards, and persisting the databaseVersion in it.

      We also need to persist a 'refreshing' flag into the entry in 'config.cache.databases' when starting a refresh, and a 'refreshing=false' and 'lastDatabaseVersionRefreshed=<DatabaseVersion' flags on completing the refresh, and add OpObservers so that the secondary will invalidate its in-memory cache entry for the database.

              Assignee:
              Janna Golden
              Reporter:
              Randolph Tan
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: