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

    XMLWordPrintable

    Details

    • Type: Task
    • Status: Open
    • Priority: Major - P3
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: Backlog
    • Component/s: Sharding
    • Sprint:
      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

              Assignee:
              backlog-server-sharding Backlog - Sharding Team
              Reporter:
              dianna.hohensee Dianna Hohensee
              Participants:
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Dates

                Created:
                Updated: