-
Type: Bug
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Catalog and Routing
-
Fully Compatible
-
ALL
-
v8.0
-
CAR Team 2024-01-22, CAR Team 2024-02-05, CAR Team 2024-02-19, CAR Team 2024-03-04, CAR Team 2024-03-18, CAR Team 2024-04-01, CAR Team 2024-04-15, CAR Team 2024-04-29, QE 2024-01-08, QE 2024-01-22
-
153
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.
- depends on
-
SERVER-89275 Set shard marked as outstanding as recovery shard if recovery shard not yet chosen
- Closed
-
SERVER-85164 Modify TransactionRouter logic to add txn metadata to requests
- Closed
-
SERVER-85165 Implement MSARS get/create TransactionRouter and add participant
- Closed
-
SERVER-86580 Process additionalTransactionParticipants metadata on getMore responses
- Closed
-
SERVER-86644 Only parent routers assert that additional participants have readOnly value on successful response
- Closed
-
SERVER-86764 Fix additional participant readConcern mismatch error
- Closed
-
SERVER-87558 Relax TransactionRouter assertions that every response has a readOnly value
- Closed
-
SERVER-87707 Make DocumentSourceCursor release storage engine resources
- Closed
-
SERVER-88391 Ensure transaction aborts if participant shard fails to unyield
- Closed
-
SERVER-88292 Migrate Interruptible/UninterruptibleLockGuard from Locker into OperationContext
- Closed
- is depended on by
-
SERVER-88099 Add FSM test for $lookup against foreign sharded collections within transactions
- Closed
- is duplicated by
-
SERVER-88144 non-cross collection $lookup and $graphLookup against an unsharded collection in transaction fail with IllegalChangeToExpectedShardVersion when featureFlagTrackUnshardedCollectionsUponCreation is enabled
- Closed
-
SERVER-88146 cross-collection $lookup and $graphLookup against unsharded collections in transaction fail when featureFlagTrackUnshardedCollectionsUponCreation is enabled
- Closed
-
SERVER-88691 Complete TODO listed in SERVER-88144
- Closed
- is related to
-
SERVER-89413 Fix deadlock in TransactionRouter
- Closed
-
SERVER-46373 Allow an aggregation sub-operation on a shard to target itself when running in a transaction
- Closed
- split to
-
SERVER-88410 Partially support $lookup/$graphLookup without getMore
- Closed