-
Type: Improvement
-
Resolution: Unresolved
-
Priority: Major - P3
-
None
-
Affects Version/s: None
-
Component/s: Replication
-
Replication
-
0
applyOps commands can include things like $inc operators that make them non-idempotent. Since applyOps entries get put in the oplog unchanged, non-idempotent applyOps commands can lead to non-idempotent oplog entries which is problematic. We do not create any bad applyOps entries internally, but external ones are allowed. We should check applyOps commands before running them and error on non-idempotent operations.
- is related to
-
SERVER-32305 Able to create document with array as _id using applyOps
- Backlog
-
SERVER-27092 blacklist apply_ops1.js from dynamic initial sync passthroughs
- Closed
-
SERVER-28897 Update apply_ops1.js to only perform idempotent operations in applyOps
- Closed
- related to
-
SERVER-32941 applyOps command inserts documents without ever calling fixDocumentForInsert()
- Backlog
-
SERVER-32952 applyOps does not validate updates
- Backlog
-
SERVER-28200 Recoverable Rollback: Extend dropIndexes oplog entry to include dropped index spec
- Closed
-
SERVER-28205 Recoverable Rollback: Extend TTL-related collMod oplog entry to include previous expiration
- Closed
-
SERVER-32342 Make doTxn rewrite non-idempotent writes into idempotent ones before logging them into the oplog
- Closed