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

Remove locks from ShardServerProcessInterface by directly accessing the routing info

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

      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@mongodb.com Kaloian Manassiev
            Reporter:
            tommaso.tocci@mongodb.com Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: