Revision 71f5bcb73012f38fe3499089bd5d332e07d32c40 authored by Andrew Kryczka on 23 June 2017, 02:30:39 UTC, committed by Facebook Github Bot on 23 June 2017, 02:41:50 UTC
Summary: Some users want to prevent rocksdb from entering read-only mode in certain error cases. This diff gives them a callback, `OnBackgroundError`, that they can use to achieve it. - call `OnBackgroundError` every time we consider setting `bg_error_`. Use its result to assign `bg_error_` but not to change the function's return status. - classified calls using `BackgroundErrorReason` to give the callback some info about where the error happened - renamed `ParanoidCheck` to something more specific so we can provide a clear `BackgroundErrorReason` - unit tests for the most common cases: flush or compaction errors Closes https://github.com/facebook/rocksdb/pull/2477 Differential Revision: D5300190 Pulled By: ajkr fbshipit-source-id: a0ea4564249719b83428e3f4c6ca2c49e366e9b3
1 parent 88cd2d9
File | Mode | Size |
---|---|---|
aligned_buffer.h | -rw-r--r-- | 4.7 KB |
allocator.h | -rw-r--r-- | 1.8 KB |
arena.cc | -rw-r--r-- | 6.9 KB |
arena.h | -rw-r--r-- | 5.2 KB |
arena_test.cc | -rw-r--r-- | 6.5 KB |
auto_roll_logger.cc | -rw-r--r-- | 5.6 KB |
auto_roll_logger.h | -rw-r--r-- | 4.1 KB |
auto_roll_logger_test.cc | -rw-r--r-- | 16.9 KB |
autovector.h | -rw-r--r-- | 8.8 KB |
autovector_test.cc | -rw-r--r-- | 9.5 KB |
bloom.cc | -rw-r--r-- | 12.1 KB |
bloom_test.cc | -rw-r--r-- | 7.4 KB |
build_version.cc.in | -rw-r--r-- | 232 bytes |
build_version.h | -rw-r--r-- | 773 bytes |
channel.h | -rw-r--r-- | 1.7 KB |
coding.cc | -rw-r--r-- | 2.5 KB |
coding.h | -rw-r--r-- | 12.7 KB |
coding_test.cc | -rw-r--r-- | 5.9 KB |
compaction_job_stats_impl.cc | -rw-r--r-- | 2.3 KB |
comparator.cc | -rw-r--r-- | 3.9 KB |
compression.h | -rw-r--r-- | 25.0 KB |
concurrent_arena.cc | -rw-r--r-- | 1.4 KB |
concurrent_arena.h | -rw-r--r-- | 6.9 KB |
core_local.h | -rw-r--r-- | 2.6 KB |
crc32c.cc | -rw-r--r-- | 16.7 KB |
crc32c.h | -rw-r--r-- | 1.8 KB |
crc32c_test.cc | -rw-r--r-- | 2.2 KB |
delete_scheduler.cc | -rw-r--r-- | 6.8 KB |
delete_scheduler.h | -rw-r--r-- | 3.9 KB |
delete_scheduler_test.cc | -rw-r--r-- | 20.4 KB |
dynamic_bloom.cc | -rw-r--r-- | 2.7 KB |
dynamic_bloom.h | -rw-r--r-- | 6.5 KB |
dynamic_bloom_test.cc | -rw-r--r-- | 9.9 KB |
event_logger.cc | -rw-r--r-- | 1.9 KB |
event_logger.h | -rw-r--r-- | 4.7 KB |
event_logger_test.cc | -rw-r--r-- | 1.4 KB |
fault_injection_test_env.cc | -rw-r--r-- | 9.4 KB |
fault_injection_test_env.h | -rw-r--r-- | 5.0 KB |
file_reader_writer.cc | -rw-r--r-- | 19.6 KB |
file_reader_writer.h | -rw-r--r-- | 6.4 KB |
file_reader_writer_test.cc | -rw-r--r-- | 10.9 KB |
file_util.cc | -rw-r--r-- | 3.0 KB |
file_util.h | -rw-r--r-- | 1.1 KB |
filelock_test.cc | -rw-r--r-- | 1.5 KB |
filename.cc | -rw-r--r-- | 12.5 KB |
filename.h | -rw-r--r-- | 6.7 KB |
filter_policy.cc | -rw-r--r-- | 771 bytes |
hash.cc | -rw-r--r-- | 2.5 KB |
hash.h | -rw-r--r-- | 1.2 KB |
hash_map.h | -rw-r--r-- | 1.9 KB |
heap.h | -rw-r--r-- | 5.0 KB |
heap_test.cc | -rw-r--r-- | 4.0 KB |
kv_map.h | -rw-r--r-- | 1.1 KB |
log_buffer.cc | -rw-r--r-- | 2.6 KB |
log_buffer.h | -rw-r--r-- | 1.8 KB |
log_write_bench.cc | -rw-r--r-- | 2.6 KB |
logging.h | -rw-r--r-- | 2.3 KB |
memory_usage.h | -rw-r--r-- | 1017 bytes |
mpsc.h | -rw-r--r-- | 5.7 KB |
murmurhash.cc | -rw-r--r-- | 4.2 KB |
murmurhash.h | -rw-r--r-- | 1.5 KB |
mutexlock.h | -rw-r--r-- | 3.4 KB |
random.cc | -rw-r--r-- | 1.1 KB |
random.h | -rw-r--r-- | 3.6 KB |
rate_limiter.cc | -rw-r--r-- | 9.4 KB |
rate_limiter.h | -rw-r--r-- | 3.2 KB |
rate_limiter_test.cc | -rw-r--r-- | 6.7 KB |
slice.cc | -rw-r--r-- | 5.7 KB |
slice_transform_test.cc | -rw-r--r-- | 4.5 KB |
sst_file_manager_impl.cc | -rw-r--r-- | 5.4 KB |
sst_file_manager_impl.h | -rw-r--r-- | 3.8 KB |
status.cc | -rw-r--r-- | 3.0 KB |
status_message.cc | -rw-r--r-- | 981 bytes |
stderr_logger.h | -rw-r--r-- | 1023 bytes |
stop_watch.h | -rw-r--r-- | 2.5 KB |
string_util.cc | -rw-r--r-- | 9.3 KB |
string_util.h | -rw-r--r-- | 4.4 KB |
sync_point.cc | -rw-r--r-- | 4.7 KB |
sync_point.h | -rw-r--r-- | 5.3 KB |
testharness.cc | -rw-r--r-- | 1.4 KB |
testharness.h | -rw-r--r-- | 1.5 KB |
testutil.cc | -rw-r--r-- | 13.1 KB |
testutil.h | -rw-r--r-- | 23.0 KB |
thread_list_test.cc | -rw-r--r-- | 11.9 KB |
thread_local.cc | -rw-r--r-- | 18.7 KB |
thread_local.h | -rw-r--r-- | 3.3 KB |
thread_local_test.cc | -rw-r--r-- | 14.6 KB |
thread_operation.h | -rw-r--r-- | 3.9 KB |
threadpool_imp.cc | -rw-r--r-- | 12.1 KB |
threadpool_imp.h | -rw-r--r-- | 3.7 KB |
timer_queue.h | -rw-r--r-- | 7.0 KB |
timer_queue_test.cc | -rw-r--r-- | 2.2 KB |
transaction_test_util.cc | -rw-r--r-- | 6.8 KB |
transaction_test_util.h | -rw-r--r-- | 4.0 KB |
xxhash.cc | -rw-r--r-- | 15.2 KB |
xxhash.h | -rw-r--r-- | 6.2 KB |
Computing file changes ...