-
Notifications
You must be signed in to change notification settings - Fork 6.3k
Tests
RocksDB's correctness and performance are key to the users.
For each open source pull request, a set of unit tests and integration tests are run on cloud continuous testing infrastructures like Github Actions, CircleCI, and AppVeyor, that's what you see in the bottom status of your pull requests.
Inside Facebook's internal infrastructure, different configurations of the stress tests and performance tests are run continuously, if regressions are found, after triaging, either a patch is needed, or the pull request causing the regression needs to be reverted.
On Google's continuous fuzzing platform for open source projects, a set of fuzzers defined in the fuzz directory are run continuously, regressions are reported to RocksDB developers as defined in this line of code.
Tests are the guardians for RocksDB's correctness and performance. Ideas on new testing strategies are welcomed. A great example on testing the databases comes from SQLite, not by accident, SQLite also uses the oss-fuzz platform for fuzz testing.
Contents
- RocksDB Wiki
- Overview
- RocksDB FAQ
- Terminology
- Requirements
- Contributors' Guide
- Release Methodology
- RocksDB Users and Use Cases
- RocksDB Public Communication and Information Channels
-
Basic Operations
- Iterator
- Prefix seek
- SeekForPrev
- Tailing Iterator
- Compaction Filter
- Multi Column Family Iterator (Experimental)
- Read-Modify-Write (Merge) Operator
- Column Families
- Creating and Ingesting SST files
- Single Delete
- Low Priority Write
- Time to Live (TTL) Support
- Transactions
- Snapshot
- DeleteRange
- Atomic flush
- Read-only and Secondary instances
- Approximate Size
- User-defined Timestamp
- Wide Columns
- BlobDB
- Online Verification
- Options
- MemTable
- Journal
- Cache
- Write Buffer Manager
- Compaction
- SST File Formats
- IO
- Compression
- Full File Checksum and Checksum Handoff
- Background Error Handling
- Huge Page TLB Support
- Tiered Storage (Experimental)
- Logging and Monitoring
- Known Issues
- Troubleshooting Guide
- Tests
- Tools / Utilities
-
Implementation Details
- Delete Stale Files
- Partitioned Index/Filters
- WritePrepared-Transactions
- WriteUnprepared-Transactions
- How we keep track of live SST files
- How we index SST
- Merge Operator Implementation
- RocksDB Repairer
- Write Batch With Index
- Two Phase Commit
- Iterator's Implementation
- Simulation Cache
- [To Be Deprecated] Persistent Read Cache
- DeleteRange Implementation
- unordered_write
- Extending RocksDB
- RocksJava
- Lua
- Performance
- Projects Being Developed
- Misc