cockroachdb / cockroachdb/cockroach

roachprod/failure-injection: increase failure injection test coverage

Open
#138,958 1 comment 1 reaction 0 assignees View on GitHub
A-testeng-foundations C-enhancement T-testeng
Dominant language
Go
Stars
32.5k
Forks
4.1k
PR merge metrics
PR metrics pending

Description

By intentionally introducing faults, engineers can observe how the system behaves under adverse conditions, identify weaknesses, and ensure that the system can recover gracefully. This will increase test coverage by exposing edge cases and rare conditions that might not occur during normal operation, leading to more robust and resilient systems.

Current failure injection testing is limited and ad hoc when it exists. A failure injection framework should be created to expand testing coverage of these scenarios. See [this design doc](https://docs.google.com/document/d/1iwewT4V_HxXN9Xa-bwngDmwxVqZP3aL1IFvIonjhFWg) for implementation details.

This issue tracks the overall work done, for details on more incremental deliverables, see the linked issues:

- [ ] [FI Library Initial Support](https://github.com/cockroachdb/cockroach/issues/138970)
- [x] #140634
- [ ] FI Planner
- [ ] [Monitor Refactor](https://github.com/cockroachdb/cockroach/issues/118214)
- [ ] FI Controller
- [ ] Report FI events to Monitor
- [ ] Initial Support for Roachtests
- [ ] Teach roachtest monitor to ignore failures caused by FI
- [ ] Support Multiple Clusters
- [ ] Support for DRT
- [ ] Support for mixed version roachtests
- [ ] FI Library more complex failures
- [ ] Performance Assertions

(note: links will be added above as issues are created)

Jira issue: CRDB-46439

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.