[SERVER-33182] Remove atomic applyOps Created: 08/Feb/18  Updated: 29/Oct/23  Resolved: 10/Nov/22

Status: Closed
Project: Core Server
Component/s: Replication
Affects Version/s: None
Fix Version/s: 6.2.0-rc0

Type: Improvement Priority: Major - P3
Reporter: Siyuan Zhou Assignee: Adi Agrawal
Resolution: Fixed Votes: 0
Labels: former-quick-wins, tech-debt-repl
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-33326 Remove use of applyOps/doTxn from sha... Closed
is depended on by SERVER-50381 3 way deadlock between applyOps cmd, ... Closed
is depended on by TOOLS-3216 Investigate changes in SERVER-33182: ... Closed
Related
related to SERVER-65531 Crash when running applyOps command w... Backlog
related to SERVER-65774 applyOps command does not to write to... Backlog
related to SERVER-42845 Change streams should return events f... Closed
related to SERVER-44450 Do not add fromMigrate field to apply... Closed
related to SERVER-65553 Atomic applyOps generates a change st... Closed
related to SERVER-64751 ApplyOpsCommandInfo::areOpsCrudOnly()... Open
related to SERVER-64972 Generate change stream events for bat... Closed
related to SERVER-45033 Log operations we do, not those we we... Closed
related to SERVER-63907 Remove code or fix comment referring ... Closed
is related to SERVER-33192 Delete apply_ops_atomicity.js Closed
is related to SERVER-34202 Only allow atomic form of applyOps wh... Closed
Backwards Compatibility: Fully Compatible
Sprint: QE 2022-10-31, QE 2022-11-14
Participants:
Linked BF Score: 0

 Description   

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.



 Comments   
Comment by Githook User [ 10/Nov/22 ]

Author:

{'name': 'Adityavardhan Agrawal', 'email': 'aa729@cornell.edu', 'username': 'Adityav369'}

Message: SERVER-33182 Remove atomic applyOps
Branch: master
https://github.com/mongodb/mongo/commit/0c82c0cfa3525721cf2269271b6978df85882bf8

Comment by Louis Williams [ 27/Jul/22 ]

This ticket is unblocked now.

Comment by Spencer Brody (Inactive) [ 04/Apr/18 ]

I'd be happy to remove the (already quite limited) public documentation for applyOps. FYI steve.briskin behackett

Comment by Alyson Cabral (Inactive) [ 04/Apr/18 ]

Spoke to Siyuan in person when this ticket was first opened, but to reiterate that convo, I am unaware of any external usage. We should probably remove the documentation of internal commands but I'll open a docs ticket on that. Any objections?

Comment by Spencer Brody (Inactive) [ 29/Mar/18 ]

I think that everything needed to do SERVER-33326 should already be available.

That said, if we don't get it done in time for 4.0, we can do SERVER-34202 instead and I think that would be sufficient for now.

Comment by Gregory McKeon (Inactive) [ 29/Mar/18 ]

spencer, SERVER-33326 is scheduled to complete when we have multi-statement transactions support, so this ticket then depends on multistatement transactions. Given our transactions timeline, is it still reasonable to do this in 4.0, or should we fix apply_ops_atomicity?

Comment by Shane Harvey [ 09/Feb/18 ]

mongomirror does not rely on atomic applyOps. It actually goes through hoops to avoid it.

Comment by Andy Schwerin [ 08/Feb/18 ]

alyson.cabral, do you know if anyone uses the atomic applyOps behavior? The documentation says it's "internal" and makes no mention of the atomic form.

Generated at Thu Feb 08 04:32:35 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.