add a DatabaseShardingState containing the databaseVersion as a decoration on Database

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 3.7.3
    • Affects Version/s: 3.7.1
    • Component/s: Sharding
    • None
    • Fully Compatible
    • Sharding 2018-02-12, Sharding 2018-02-26, Sharding 2018-03-12
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      Once SERVER-33022 goes in, the CatalogCache will cache the databaseVersion in its DatabaseInfoEntry.

      However, the CatalogCache should not be used for version checking on shards (since the version check must be done under some form of database lock and the CatalogCache refresh does not take a database lock).

      Instead, we should create a DatabaseShardingState (analogous to CollectionShardingState), where we can load the databaseVersion for version checking on shards.

      We should make the new DatabaseShardingState a decoration on the storage catalog's Database (rather than on the ServiceContext, as the map of CollectionShardingStates is).

            Assignee:
            Esha Maharishi (Inactive)
            Reporter:
            Esha Maharishi (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: