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

Move force primary refresh functionality out of the ShardServerCatalogCacheLoader into the ShardingState's refresh logic

    XMLWordPrintableJSON

Details

    • Task
    • Status: Closed
    • Major - P3
    • Resolution: Won't Do
    • None
    • None
    • Sharding
    • Sharding EMEA
    • Sharding 2017-12-04

    Description

      We want to simplify the ShardServerCatalogCacheLoader by making a simple local loader and reader of chunk metadata. So we want to move the remote call to ensure the primary has refreshed to the latest metadata out of the ShardServerCatalogCacheLoader and instead place this functionality at a higher level in the refresh logic in ShardingState::onStaleShardVersion. A rough sketch:

      onStaleShardVersion(wantedVersion) {
          while () {
              invalidateCatalogCacheMetadata
              refreshAndLoadLocalChunkMetadata
              if (wantedVersion > locallyRefreshedVersion) {
                  optime = forcePrimaryRefresh
                  waitForOptime(optime)
              }
          }
      }
      

      Attachments

        Issue Links

          Activity

            People

              backlog-server-sharding-emea Backlog - Sharding EMEA
              dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: