-
Type:
Task
-
Resolution: Fixed
-
Priority:
Major - P3
-
Affects Version/s: None
-
Component/s: None
-
None
-
Catalog and Routing
-
Fully Compatible
-
CAR Team 2025-10-27, CAR Team 2025-11-10, CAR Team 2025-11-24, CAR Team 2025-12-08, CAR Team 2025-12-22
-
đźź© Routing and Topology
-
None
-
None
-
None
-
None
-
None
-
None
Currently, the TransactionRouter is inspecting command BSONs and under some conditions modifying the shardVersion and databaseVersion fields to add a placementConflictTime element to them. It would be better if this was done under the proposed RouterRole APIs instead, which is the place where the shard/db versions would be constructed and attached to the commands.
The proposal is to dettach the placementConflictTime entirely from the ShardVersion/DatabaseVersion objects.
You'll find a more detailed explanation in this Engineering Proposald document.
- causes
-
SERVER-115293 Set FCV Version on benchmark test `sharding_write_router_bm`
-
- In Progress
-
- depends on
-
SERVER-114718 Merge logical_session_id lib into server_core
-
- Closed
-
- is depended on by
-
SERVER-114642 Update TLA+ placementConflictTime spec
-
- Open
-
- is duplicated by
-
SERVER-109093 Move TransactionRouter’s duties of attaching “placementConflictTime” to the unified shard-version building utilities.
-
- Closed
-
- related to
-
SERVER-115178 Remove placementConflictTime field from Shard/DatabaseVersion once v9.0 branches out
-
- Needs Scheduling
-
-
SERVER-115179 Remove feature flag AddTransactionRuntimeContextAsAGenericArgument once v9.0 branches out
-
- Needs Scheduling
-