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

Move shard filtering metadata out of the query layer and into the new CollectionPtr class

    • Type: Icon: Improvement Improvement
    • Resolution: Duplicate
    • Priority: Icon: Major - P3 Major - P3
    • None
    • Affects Version/s: None
    • Component/s: None
    • None
    • Sharding EMEA

      The shard filtering/routing information should be moved from the query layer to the AutoGetCollection*/CollectionPtr interfaces

      • With this change, we should reconsider whether the AutoGetCollection* classes still need to explicitly check the shardVersion, as fetching the filtering metadata does the check implicitly.
      • ScopedCollectionDescription, or whatever class is the filtering metadata, must not have any other sharding linking dependencies, and should be documented strongly to keep it that way. We do NOT want to link sharding into the execution catalog / code layer.

      ----------------------------------------------------------------------------------------------------

      The new CollectionPtr accessible via the AutoGetCollection* collection helpers are passed throughout the code (replacing how we used to pass raw Collection pointers). The query code has access to the CollectionPtr, so placing the shard filtering metadata on the CollectionPtr during AutoGetCollection* setup would provide query code access.

            Assignee:
            backlog-server-sharding-emea [DO NOT USE] Backlog - Sharding EMEA
            Reporter:
            dianna.hohensee@mongodb.com Dianna Hohensee (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: