Priority: Major - P3
Affects Version/s: None
It would be useful to have a test tool independent of MongoDB that can be used to simulate workloads generated by the MongoDB oplog.
It makes sense to split this change into two parts. First phase:
- Append mostly workload from multiple threads.
- Concurrent truncate from the tail of the oplog, retaining a certain size database. The truncate should be able to remove a configurable amount of the table.
- Supporting a configurable number of readers from the table. Those readers should read in a manner similar to the oplog (do they keep a cursor open and traverse, or do they do point reads)? It would be good to think about where in the table the reads are coming from.
I'd recommend skipping the populate phase, and using the existing functionality that allows for setting up groups of worker threads during the workload phase.