- 
    Type:Improvement 
- 
    Resolution: Fixed
- 
    Priority:Major - P3 
- 
    Affects Version/s: None
- 
    Component/s: Replication
- 
        Fully Compatible
- 
        QE 2022-10-31, QE 2022-11-14
- 
        0
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
- 
        None
All the 3.6 uses of applyOps are only on the same mongod. The use on config servers has been replaced with doTxn and will eventually be replaced with multi-statement transactions, so we should be able to remove atomic applyOps in 4.0.
- depends on
- 
                    SERVER-33326 Remove use of applyOps/doTxn from sharding chunk operations -         
- Closed
 
-         
- is depended on by
- 
                    SERVER-50381 3 way deadlock between applyOps cmd, prepared transaction and secondary oplog fetcher initiated find command -         
- Closed
 
-         
- 
                    TOOLS-3216 Investigate changes in SERVER-33182: Remove atomic applyOps -         
- Closed
 
-         
- is related to
- 
                    SERVER-33192 Delete apply_ops_atomicity.js -         
- Closed
 
-         
- 
                    SERVER-34202 Only allow atomic form of applyOps when running in DBDirectClient -         
- Closed
 
-         
- related to
- 
                    SERVER-65531 Crash when running applyOps command with "needsRetryImage" option -         
- Backlog
 
-         
- 
                    SERVER-65774 applyOps command does not to write to config.image_collection on secondaries in some cases -         
- Backlog
 
-         
- 
                    SERVER-42845 Change streams should return events for user-initiated applyOps commands -         
- Closed
 
-         
- 
                    SERVER-44450 Do not add fromMigrate field to applyOps insert oplog entries -         
- Closed
 
-         
- 
                    SERVER-65553 Atomic applyOps generates a change stream pre-image on secondaries but not on the primary -         
- Closed
 
-         
- 
                    SERVER-64751 ApplyOpsCommandInfo::areOpsCrudOnly() considers "n" ops as crud -         
- Open
 
-         
- 
                    SERVER-64972 Generate change stream events for batched deletes -         
- Closed
 
-         
- 
                    SERVER-45033 Log operations we do, not those we were told to do, in atomic applyOps oplog entries -         
- Closed
 
-         
- 
                    SERVER-63907 Remove code or fix comment referring to handling MMAP -         
- Closed
 
-