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

Add collection task queue flush functionality to ShardServerCatalogCacheLoader and replace certain uses of waitForCollectionVersion

    • Type: Icon: Task Task
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 3.5.12
    • Affects Version/s: None
    • Component/s: Sharding
    • Labels:
      None
    • Fully Compatible
    • Sharding 2017-07-31, Sharding 2017-08-21
    • 0

      Secondaries currently ping the primary to acquire the latest collection version, and then wait for that version to be seen on the op observer. Rather than doing this, we want functionality to get an optime from the primary and then have the secondary wait on that optime before continuing. In order to acquire the optime from the primary that includes the metadata persistence, we must ensure persistence has occurred before leaving: we must flush the ShardServerCatalogCacheLoader's task queue for that collection and then get the latest optime.

      The flush design will probably take the form of attaching a Notification to the end of a ShardServerCatalogCacheLoader collection task list, and then signaling that Notification if present when the task is complete.

            Assignee:
            kaloian.manassiev@mongodb.com Kaloian Manassiev
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

              Created:
              Updated:
              Resolved: