-
Type: New Feature
-
Resolution: Fixed
-
Priority: Major - P3
-
Affects Version/s: None
-
Component/s: None
-
Fully Compatible
-
Execution Team 2022-02-07, Execution Team 2022-02-21
MDB currently has powercycle and process termination tests which have historically discovered durability bugs. It's not obvious those are fundamentally insufficient, but we've found other durability bugs when using other techniques. Specifically we can set up a mongodb cluster and:
- Run a workload against the cluster
- SIGSTOP one of the mongodb processes
- Copy that process' dbpath to a tmp path with direct I/O
- SIGCONT the paused process
- Start a mongod on the tmp path
- Run validate on all collections in the tmp path
- Repeat in a tight loop.
There's interest in permanently adding this to our testing suites. Attached is an unrefined (apologies) patch that can be used as a starting point in implementing the above.
- causes
-
SERVER-82781 Simulate crash test hook may leave behind part of file when copying data
- Closed
-
WT-11821 WiredTiger data corruption detected in config_fuzzer_simulate_crash_concurrency_replication with compact.js
- Closed
- is related to
-
SERVER-60636 Create a passthrough suite to terminate mongod during clean shutdowns
- Closed
- related to
-
SERVER-66273 Add CleanupConcurrencyWorkloads hook to simulate_crash_concurrency_replication.yml
- Closed