Make ShardRegistry::_lookup() fail if topologyTIme apparently goes backwards

XMLWordPrintableJSON

    • Type: Improvement
    • Resolution: Duplicate
    • Priority: Major - P3
    • None
    • Affects Version/s: None
    • Component/s: Sharding
    • Sharding EMEA
    • Sharding EMEA 2023-02-06
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None
    • None

      If the maxTopologyTime from the config.shards documents is lower than the cached topologyTime (cachedData.getTime().topologyTime), then the ShardRegistry is doomed to infinitely refresh until this is no longer true. Better would be for _lookup() to fail (ie. uassert) in this case, so that the underlying operation will fail in this unexpected situation.

              Assignee:
              Sergi Mateo Bellido
              Reporter:
              Kevin Pulo
              Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

                Created:
                Updated:
                Resolved: