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

Relax condition in a router loop in shard_version_retry

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 7.1.0-rc0, 7.0.2
    • Affects Version/s: None
    • Component/s: None
    • Labels:
    • Fully Compatible
    • ALL
    • v7.0, v6.0, v5.0
    • Sharding EMEA 2023-07-24
    • 105
    • 1

      The invariant on the shard_version_retry::shardVersionRetry router loop is probably a bit too strict: it assumes that if we route a request over some nss, any Stale* error is going to be over that namespace. This is not always true, as we recently saw in this other router loop that we relaxed some weeks ago. 

      Note that the router loop being addressed here is only used as an internal helper. Thus, at this point we are going to relaxed a bit to properly support timeseries collections (i.e. I route over dbName.collName but got an error over dbName.system.buckets.collName.

            sergi.mateo-bellido@mongodb.com Sergi Mateo Bellido
            sergi.mateo-bellido@mongodb.com Sergi Mateo Bellido
            0 Vote for this issue
            4 Start watching this issue