-
Type: Bug
-
Resolution: Won't Fix
-
Priority: Major - P3
-
None
-
Affects Version/s: 4.1.9
-
Component/s: Replication, Sharding
-
ALL
-
Sharding 2019-04-08
Original Description
Due to an assumption ascertained from Replication code with a bug (see SERVER-40248), we select from the incorrect field when applying update operations from a multi-statement transaction. We should be applying from the o field, not the o2 field.
We should also make sure that current testing is up-to-par for this opObserver – basic testing should have caught this bug.
Investigation Update
It turns out that this bug actually isn't a bug, but for reasons previously unknown. For inserts and updates, the migration cloner transfer mods stage assumes that we are given only the _id, and reaches into the storage subsystem to retrieve the full document. The document that we pass into the cloner on transaction commit is exactly that – the _id. So the code is correct, but variables are named incorrectly.
- is related to
-
SERVER-40248 OplogEntry's getOperationToApply() returns incorrect field for updates
- Closed