[SERVER-75634] The logic in attachCursorSourceToPipelineForLocalRead performs shard versioning by UUID Created: 04/Apr/23  Updated: 29/Oct/23  Resolved: 25/Jul/23

Status: Closed
Project: Core Server
Component/s: Sharding
Affects Version/s: None
Fix Version/s: 7.1.0-rc0, 7.0.2

Type: Bug Priority: Major - P3
Reporter: Kaloian Manassiev Assignee: Jordi Serra Torrens
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Backports
Related
related to SERVER-75643 Not all paths of AutoGetCollectionFor... Closed
Assigned Teams:
Sharding EMEA
Backwards Compatibility: Fully Compatible
Operating System: ALL
Backport Requested:
v7.0
Sprint: Sharding EMEA 2023-08-07
Participants:

 Description   

The logic in CommonMongodProcessInterface::attachCursorSourceToPipelineForLocalRead performs shard versioning by UUID, even if namespace is available. The shard version comes from the previous call up the stack, which establishes the collection as expected UNSHARDED.

There are a couple of problems with this:

  1. Shard versioning by UUID is not something that we currently support in the protocol, unless the version is UNSHARDED. The protocol is always NSS -> ShardVersion and if instead of NSS we have UUID, there is currently no reliable way to infer what is the namespace that corresponds to that collection and we need to rely on the contents of the local catalog.
  2. We plan to get rid of UNSHARDED collections, which means this problem will get worse.


 Comments   
Comment by Githook User [ 25/Aug/23 ]

Author:

{'name': 'Jordi Serra Torrens', 'email': 'jordi.serra-torrens@mongodb.com', 'username': 'jordist'}

Message: SERVER-75634 Make attachCursorSourceToPipelineForLocalRead acquire collection by namespace string
Branch: v7.0
https://github.com/mongodb/mongo/commit/41e3984aa35c507ad4c5cb6906fec9a329c4cf6c

Comment by Githook User [ 25/Jul/23 ]

Author:

{'name': 'Jordi Serra Torrens', 'email': 'jordi.serra-torrens@mongodb.com', 'username': 'jordist'}

Message: SERVER-75634 Make attachCursorSourceToPipelineForLocalRead acquire collection by namespace string
Branch: master
https://github.com/mongodb/mongo/commit/6918ea89e3d9f540e49837513e0246584b373099

Generated at Thu Feb 08 06:30:40 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.