Remove locks from ShardServerProcessInterface by directly accessing the routing info

XMLWordPrintableJSON

    • Type: Task
    • Resolution: Fixed
    • Priority: Major - P3
    • 4.7.0
    • Affects Version/s: None
    • Component/s: None
    • Fully Compatible
    • Sharding 2020-03-23, Sharding 2020-04-06
    • None
    • 3
    • None
    • None
    • None
    • None
    • None
    • None

      The locks acquired here:

      https://github.com/mongodb/mongo/blob/323b567d32c787eced20822f708e6e6951174714/src/mongo/db/pipeline/process_interface/shardsvr_process_interface.cpp#L97-L100

      do not cover the entire lifetime of the ScopedCollectionMetadata. Thus it is possible that we are accessing the metadata after that it have been actually dropped.
      We should instead access directly the routing info here that doesn't require any lock mechanism.

            Assignee:
            Kaloian Manassiev
            Reporter:
            Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: