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.
Peter Dillinger
390cc0b156
Ensure LockWAL() stall cleared for UnlockWAL() return ( #11172 )
...
Summary:
Fixes https://github.com/facebook/rocksdb/issues/11160
By counting the number of stalls placed on a write queue, we can check in UnlockWAL() whether the stall present at the start of UnlockWAL() has been cleared by the end, or wait until it's cleared.
More details in code comments and new unit test.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/11172
Test Plan: unit test added. Yes, it uses sleep to amplify failure on buggy behavior if present, but using a sync point to only allow new behavior would fail with the old code only because it doesn't contain the new sync point. Basically, using a sync point in UnlockWAL() could easily mask a regression by artificially limiting key behaviors. The test would only check that UnlockWAL() invokes code that *should* do the right thing, without checking that it *does* the right thing.
Reviewed By: ajkr
Differential Revision: D42894341
Pulled By: pdillinger
fbshipit-source-id: 15c9da0ca383e6aec845b29f5447d76cecbf46c3
2 years ago
..
agg_merge
Print stack traces on frozen tests in CI ( #10828 )
2 years ago
backup
Remove RocksDB LITE ( #11147 )
2 years ago
blob_db
Remove RocksDB LITE ( #11147 )
2 years ago
cassandra
Remove RocksDB LITE ( #11147 )
2 years ago
checkpoint
Cleanup, improve, stress test LockWAL() ( #11143 )
2 years ago
compaction_filters
Remove RocksDB LITE ( #11147 )
2 years ago
convenience
Run clang-format on utilities/ (except utilities/transactions/) ( #10853 )
2 years ago
leveldb_options
Run clang-format on utilities/ (except utilities/transactions/) ( #10853 )
2 years ago
memory
Remove RocksDB LITE ( #11147 )
2 years ago
merge_operators
Remove RocksDB LITE ( #11147 )
2 years ago
option_change_migration
Remove RocksDB LITE ( #11147 )
2 years ago
options
Remove RocksDB LITE ( #11147 )
2 years ago
persistent_cache
Remove RocksDB LITE ( #11147 )
2 years ago
simulator_cache
Major Cache refactoring, CPU efficiency improvement ( #10975 )
2 years ago
table_properties_collectors
Remove RocksDB LITE ( #11147 )
2 years ago
trace
Remove RocksDB LITE ( #11147 )
2 years ago
transactions
Ensure LockWAL() stall cleared for UnlockWAL() return ( #11172 )
2 years ago
ttl
Remove RocksDB LITE ( #11147 )
2 years ago
write_batch_with_index
Remove RocksDB LITE ( #11147 )
2 years ago
cache_dump_load.cc
Remove RocksDB LITE ( #11147 )
2 years ago
cache_dump_load_impl.cc
Remove RocksDB LITE ( #11147 )
2 years ago
cache_dump_load_impl.h
Remove RocksDB LITE ( #11147 )
2 years ago
compaction_filters.cc
Remove RocksDB LITE ( #11147 )
2 years ago
counted_fs.cc
Fix serious FSDirectory use-after-Close bug (missing fsync) ( #10460 )
2 years ago
counted_fs.h
Explicitly closing all directory file descriptors ( #10049 )
2 years ago
debug.cc
Remove RocksDB LITE ( #11147 )
2 years ago
env_mirror.cc
Remove RocksDB LITE ( #11147 )
2 years ago
env_mirror_test.cc
Remove RocksDB LITE ( #11147 )
2 years ago
env_timed.cc
Remove RocksDB LITE ( #11147 )
2 years ago
env_timed.h
Remove RocksDB LITE ( #11147 )
2 years ago
env_timed_test.cc
Remove RocksDB LITE ( #11147 )
2 years ago
fault_injection_env.cc
Explicitly closing all directory file descriptors ( #10049 )
2 years ago
fault_injection_env.h
Run clang-format on utilities/ (except utilities/transactions/) ( #10853 )
2 years ago
fault_injection_fs.cc
Enable ReadAsync testing and fault injection in db_stress ( #11037 )
2 years ago
fault_injection_fs.h
Enable ReadAsync testing and fault injection in db_stress ( #11037 )
2 years ago
fault_injection_secondary_cache.cc
Major Cache refactoring, CPU efficiency improvement ( #10975 )
2 years ago
fault_injection_secondary_cache.h
Major Cache refactoring, CPU efficiency improvement ( #10975 )
2 years ago
memory_allocators.h
Major Cache refactoring, CPU efficiency improvement ( #10975 )
2 years ago
merge_operators.cc
Remove RocksDB LITE ( #11147 )
2 years ago
merge_operators.h
Run clang-format on utilities/ (except utilities/transactions/) ( #10853 )
2 years ago
object_registry.cc
Remove RocksDB LITE ( #11147 )
2 years ago
object_registry_test.cc
Remove RocksDB LITE ( #11147 )
2 years ago
util_merge_operators_test.cc
Print stack traces on frozen tests in CI ( #10828 )
2 years ago
wal_filter.cc
Make WalFilter, SstPartitionerFactory, FileChecksumGenFactory, and TableProperties Customizable ( #8638 )
3 years ago