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

Investigate error prone chunk manager functions usages

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Critical - P2 Critical - P2
    • 8.1.0-rc0, 8.0.0-rc5
    • Affects Version/s: None
    • Component/s: Sharding
    • None
    • Catalog and Routing
    • Fully Compatible
    • v8.0
    • CAR Team 2024-04-01, CAR Team 2024-04-15, CAR Team 2024-04-29, CAR Team 2024-05-13
    • 1

      In the chunk manager API we have different functions to get the shard ids necessary to target a command, so for example we could use getAllShardIds or getShardIdsForRange depending on the information available. However, there is a non predictable difference between these two functions, if we try to target an operation using getAllShardIds, the chunk manager would not consider if the routing table was previously obtained with a cluster time, but if we use getShardIdsForRange it would, causing problems like the one found in SERVER-87191.

      The purpose of this ticket is to find out other wrong usages of the API by adding an invariant in targeting functions that do not check the cluster time but could be called with a routing table with a cluster time, and to determine the next steps to improve the API to avoid future confusion.

            Assignee:
            jordi.serra-torrens@mongodb.com Jordi Serra Torrens
            Reporter:
            marcos.grillo@mongodb.com Marcos José Grillo Ramirez
            Votes:
            0 Vote for this issue
            Watchers:
            10 Start watching this issue

              Created:
              Updated:
              Resolved: