-
Type: Task
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Sharding
-
Sharding
The only command allowed in a transaction that currently sends database version is distinct. Similarly to SERVER-37501, this allows transactions to take locks for databases that the router coordinating the transaction is stale for, which would force database versioned writes outside the transaction that trigger a stale database version error to wait for the transaction to complete before the shard is able to refresh its database version metadata (because it requires an exclusive lock on the database).
If all of the commands that run in a transaction sent database version, then a transaction wouldn't be able to take locks for a database it has stale metadata for, avoiding this.
- is related to
-
SERVER-37501 Version multi-updates and multi-deletes in sharded transactions
- Closed