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

Remove locks from ShardServerProcessInterface by directly accessing the routing info

    XMLWordPrintableJSON

Details

    • Icon: Task Task
    • Resolution: Fixed
    • Icon: Major - P3 Major - P3
    • 4.7.0
    • None
    • None
    • Fully Compatible
    • Sharding 2020-03-23, Sharding 2020-04-06

    Description

      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.

      Attachments

        Activity

          People

            kaloian.manassiev@mongodb.com Kaloian Manassiev
            tommaso.tocci@mongodb.com Tommaso Tocci
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: