|
I agreed the test coverage of applyOps is light. It's kind of another entry point in the system, so it's hard to test. We have some JS tests for applyOps commands. STM team used to have fuzzer tests for it too, but the problem is it can generate operations that can never happen in reality, e.g. a document removal without a prior collection creation. Since we only support applyOps for MongoMirror, we don't need to support and test all possible operations for applyOps command. One idea to increase the test coverage of applyOps is to extract the oplog entries generated by replset passthrough test and replay them as applyOps command. robert.guo may have more context.
In terms of allowAtomic, we'd hope to remove the support of atomic applyOps once sharding replaces its usage with transactions. The work is tracked in SERVER-33182.
Replication team don't have further plan to add more test coverage for applyOps now. Since the concerns in this ticket have been or will be addressed in other ways, I'm closing this ticket as Won't Fix.
|