rocksdb/db/compaction
Zhichao Cao a10f12eda1 Auto resume the DB from Retryable IO Error (#6765)
Summary:
In current codebase, in write path, if Retryable IO Error happens, SetBGError is called. The retryable IO Error is converted to hard error and DB is in read only mode. User or application needs to resume it. In this PR, if Retryable IO Error happens in one DB, SetBGError will create a new thread to call Resume (auto resume). otpions.max_bgerror_resume_count controls if auto resume is enabled or not (if max_bgerror_resume_count<=0, auto resume will not be enabled). options.bgerror_resume_retry_interval controls the time interval to call Resume again if the previous resume fails due to the Retryable IO Error. If non-retryable error happens during resume, auto resume will terminate.

Pull Request resolved: https://github.com/facebook/rocksdb/pull/6765

Test Plan: Added the unit test cases in error_handler_fs_test and pass make asan_check

Reviewed By: anand1976

Differential Revision: D21916789

Pulled By: zhichao-cao

fbshipit-source-id: acb8b5e5dc3167adfa9425a5b7fc104f6b95cb0b
2020-07-15 11:03:58 -07:00
..
compaction_iteration_stats.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
compaction_iterator_test.cc Revert "Update googletest from 1.8.1 to 1.10.0 (#6808)" (#6923) 2020-06-03 15:55:03 -07:00
compaction_iterator.cc Report corrupted keys during compaction (#7124) 2020-07-14 17:18:17 -07:00
compaction_iterator.h Compaction filter support for BlobDB (#6850) 2020-06-29 17:32:14 -07:00
compaction_job_stats_test.cc Replace reinterpret_cast with static_cast_with_check (#7067) 2020-07-02 19:25:41 -07:00
compaction_job_test.cc Report corrupted keys during compaction (#7124) 2020-07-14 17:18:17 -07:00
compaction_job.cc Auto resume the DB from Retryable IO Error (#6765) 2020-07-15 11:03:58 -07:00
compaction_job.h Store DB identity and DB session ID in SST files (#6983) 2020-06-17 10:57:40 -07:00
compaction_picker_fifo.cc Fix clang analyze error (#6622) 2020-04-01 10:01:38 -07:00
compaction_picker_fifo.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
compaction_picker_level.cc Refactor level compaction picker (#6804) 2020-05-05 11:09:29 -07:00
compaction_picker_level.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
compaction_picker_test.cc Make it possible to look up files by number in VersionStorageInfo (#6862) 2020-05-28 10:03:06 -07:00
compaction_picker_universal.cc Fix potential overflow of unsigned type in for loop (#6902) 2020-06-02 15:05:07 -07:00
compaction_picker_universal.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00
compaction_picker.cc Fix race due to delete triggered compaction in Universal compaction mode (#6799) 2020-05-07 17:32:17 -07:00
compaction_picker.h Make options.bottommost_compression, compression_opts and bottommost_compression_opts dynamically changeable. (#6615) 2020-03-31 12:11:42 -07:00
compaction.cc Compaction with timestamp: input boundaries (#6645) 2020-04-10 16:05:49 -07:00
compaction.h Replace namespace name "rocksdb" with ROCKSDB_NAMESPACE (#6433) 2020-02-20 12:09:57 -08:00