[SERVER-84470] Allow $lookup to target an unsplittable collection on a primary shard within a multi-document transaction Created: 02/Jan/24  Updated: 06/Feb/24

Status: Blocked
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Bug Priority: Major - P3
Reporter: Enrico Golfieri Assignee: Jordi Olivares Provencio
Resolution: Unresolved Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-85165 Implement MSARS get/create Transactio... Open
depends on SERVER-85164 Modify TransactionRouter logic to add... In Code Review
Related
is related to SERVER-46373 Allow an aggregation sub-operation on... Backlog
Operating System: ALL
Sprint: CAR Team 2024-01-22, CAR Team 2024-02-05, CAR Team 2024-02-19, QE 2024-01-08, QE 2024-01-22
Participants:

 Description   

As explained in SERVER-46373 currently $lookup is not allowed to target a sharded collection in a multi document transaction due to 2 known reasons:

  • That a shard targeting itself will deadlock trying to re-acquire the same session
  • That if a different shard needs to be targeted, the shard does not know how to correctly start the multi-doc txn on that other shard.

After SERVER-81190 unsharded collection will be tracked and $lookup as a consequence won't be allowed on a unsharded collection as well (within a transaction)

The goal of this ticket is to allow $lookup on an unsplittable collection if that collection is still on the primary. This is just a temporary fix before SERVER-46373 to enable SERVER-81190 to be merged and start tracking collections.


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