-
Type: Task
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: Replication
-
None
-
Fully Compatible
-
v3.6
-
Repl 2018-05-07
-
0
We want to restrict transactions to only run on primaries. The way SERVER-33580 accomplished that was by restricting them to only work if the readPreference provided was 'primary'. Drivers, however, may send 'primaryPreferred' when connected to a primary via a direct connection.
We should undo the server changes from SERVER-33580, and instead change the checkCanServeReadsFor method in ReplicationCoordinator to return false if the node is not currently primary and we're in a transaction.
- is related to
-
SERVER-37189 transactions.currentActive has a value of -1
- Closed
-
SERVER-40473 Using readPreference: secondary in multi-statement transaction returns NotMaster error with TransientTransactionError label
- Closed
-
SERVER-33580 Restrict multi-statement transactions to primaries
- Closed
- related to
-
SERVER-43708 Wait for nodes to become secondary in last_vote.js and slave_delay_clean_shutdown.js
- Closed