You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Andrew Kryczka
a62506aee2
Enable unsynced data loss in crash test ( #9947 )
...
Summary:
`db_stress` already tracks expected state history to verify prefix-recoverability when `sync_fault_injection` is enabled. This PR enables `sync_fault_injection` in `db_crashtest.py`.
Previously enabling `sync_fault_injection` would cause whole unsynced files to be dropped. This PR adds a more interesting case of losing only the tail of unsynced data by implementing `TestFSWritableFile::RangeSync()` and enabling `{wal_,}bytes_per_sync`.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/9947
Test Plan:
- regular blackbox, blackbox --simple
- various commands to stress this new case, such as `TEST_TMPDIR=/dev/shm python3 tools/db_crashtest.py blackbox --max_key=100000 --write_buffer_size=2097152 --avoid_flush_during_recovery=1 --disable_wal=0 --interval=10 --db_write_buffer_size=0 --sync_fault_injection=1 --wal_compression=none --delpercent=0 --delrangepercent=0 --prefixpercent=0 --iterpercent=0 --writepercent=100 --readpercent=0 --wal_bytes_per_sync=131072 --duration=36000 --sync=0 --open_write_fault_one_in=16`
Reviewed By: riversand963
Differential Revision: D36152775
Pulled By: ajkr
fbshipit-source-id: 44b68a7fad0a4cf74af9fe1f39be01baab8141d8
3 years ago
..
agg_merge
Add Aggregation Merge Operator ( #9780 )
3 years ago
backup
Use std::numeric_limits<> ( #9954 )
3 years ago
blob_db
Propagate errors from UpdateBoundaries ( #9851 )
3 years ago
cassandra
Restore Regex support for ObjectLibrary::Register, rename new APIs to allow old one to be deprecated in the future ( #9362 )
3 years ago
checkpoint
Add Temperature info in `NewSequentialFile()` ( #9499 )
3 years ago
compaction_filters
Make MergeOperator+CompactionFilter/Factory into Customizable Classes ( #8481 )
3 years ago
convenience
Add a SystemClock class to capture the time functions of an Env ( #7858 )
4 years ago
leveldb_options
Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE ( #6433 )
5 years ago
memory
Make types of Immutable/Mutable Options fields match that of the underlying Option ( #8176 )
4 years ago
merge_operators
Remove using namespace ( #9369 )
3 years ago
option_change_migration
Fix some typos in comments and HISTORY.md ( #9798 )
3 years ago
options
Allow WAL dir to change with db dir ( #8582 )
3 years ago
persistent_cache
Add rate limiter priority to ReadOptions ( #9424 )
3 years ago
simulator_cache
Update Cache::Release param from force_erase to erase_if_last_ref ( #9728 )
3 years ago
table_properties_collectors
Restore Regex support for ObjectLibrary::Register, rename new APIs to allow old one to be deprecated in the future ( #9362 )
3 years ago
trace
Add rate limiter priority to ReadOptions ( #9424 )
3 years ago
transactions
Remove ifdef for try_emplace after upgrading to c++17 ( #9932 )
3 years ago
ttl
Work around some new clang-analyze failures ( #9515 )
3 years ago
write_batch_with_index
Use std::numeric_limits<> ( #9954 )
3 years ago
cache_dump_load.cc
Introduce a mechanism to dump out blocks from block cache and re-insert to secondary cache ( #8912 )
3 years ago
cache_dump_load_impl.cc
New stable, fixed-length cache keys ( #9126 )
3 years ago
cache_dump_load_impl.h
Meta-internal folly integration with F14FastMap ( #9546 )
3 years ago
compaction_filters.cc
Restore Regex support for ObjectLibrary::Register, rename new APIs to allow old one to be deprecated in the future ( #9362 )
3 years ago
counted_fs.cc
Introduce a CountedFileSystem for counting file operations ( #9283 )
3 years ago
counted_fs.h
Introduce a CountedFileSystem for counting file operations ( #9283 )
3 years ago
debug.cc
In ParseInternalKey(), include corrupt key info in Status ( #7515 )
4 years ago
env_mirror.cc
Fix clang13 build error ( #9374 )
3 years ago
env_mirror_test.cc
Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE ( #6433 )
5 years ago
env_timed.cc
Make FileSystem a Customizable Class ( #8649 )
3 years ago
env_timed.h
Make FileSystem a Customizable Class ( #8649 )
3 years ago
env_timed_test.cc
Make env*_test work with ASSERT_STATUS_CHECKED ( #7176 )
4 years ago
fault_injection_env.cc
Protect existing files in `FaultInjectionTest{Env,FS}::ReopenWritableFile()` ( #8995 )
3 years ago
fault_injection_env.h
Make the Env class Customizable ( #9293 )
3 years ago
fault_injection_fs.cc
Enable unsynced data loss in crash test ( #9947 )
3 years ago
fault_injection_fs.h
Enable unsynced data loss in crash test ( #9947 )
3 years ago
fault_injection_secondary_cache.cc
Prevent double caching in the compressed secondary cache ( #9747 )
3 years ago
fault_injection_secondary_cache.h
Prevent double caching in the compressed secondary cache ( #9747 )
3 years ago
memory_allocators.h
Make MemoryAllocator into a Customizable class ( #8980 )
3 years ago
merge_operators.cc
Restore Regex support for ObjectLibrary::Register, rename new APIs to allow old one to be deprecated in the future ( #9362 )
3 years ago
merge_operators.h
Make MergeOperator+CompactionFilter/Factory into Customizable Classes ( #8481 )
3 years ago
object_registry.cc
Plugin Registry ( #7949 )
3 years ago
object_registry_test.cc
Plugin Registry ( #7949 )
3 years ago
util_merge_operators_test.cc
Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE ( #6433 )
5 years ago
wal_filter.cc
Make WalFilter, SstPartitionerFactory, FileChecksumGenFactory, and TableProperties Customizable ( #8638 )
3 years ago