Revision 331cb6364102e98e8572778188332d342b472233 authored by Yanqin Jin on 11 July 2018, 21:49:31 UTC, committed by Facebook Github Bot on 11 July 2018, 21:57:46 UTC
Summary:
Prior to this PR, there was a race condition between `DBImpl::SetOptions` and `BackupEngine::CreateNewBackup`, as illustrated below.
```
Time                  thread 1                           thread 2
  |   CreateNewBackup -> GetLiveFiles
  |                                         SetOptions -> RenameTempFileToOptionsFile
  |                                         SetOptions -> RenameTempFileToOptionsFile
  |                                         SetOptions -> RenameTempFileToOptionsFile // unlink oldest OPTIONS file
  |   copy the oldest OPTIONS // IO error!
  V
```
Proposed fix is to check the value of `DBImpl::disable_obsolete_files_deletion_` before calling `DeleteObsoleteOptionsFiles`.
Pull Request resolved: https://github.com/facebook/rocksdb/pull/4108

Differential Revision: D8796360

Pulled By: riversand963

fbshipit-source-id: 02045317f793ea4c7d4400a5bf333b8502fa3e82
1 parent 440621a
History
File Mode Size
RocksDBCommonHelper.php -rw-r--r-- 11.8 KB
amalgamate.py -rwxr-xr-x 4.6 KB
build_detect_platform -rwxr-xr-x 21.0 KB
cont_integration.sh -rwxr-xr-x 3.4 KB
dependencies.sh -rw-r--r-- 2.0 KB
dependencies_4.8.1.sh -rw-r--r-- 2.1 KB
dockerbuild.sh -rwxr-xr-x 76 bytes
error_filter.py -rw-r--r-- 5.9 KB
fb_compile_mongo.sh -rwxr-xr-x 1.4 KB
fbcode_config.sh -rw-r--r-- 4.5 KB
fbcode_config4.8.1.sh -rw-r--r-- 3.5 KB
format-diff.sh -rwxr-xr-x 3.8 KB
gnu_parallel -rwxr-xr-x 238.6 KB
make_package.sh -rwxr-xr-x 3.0 KB
precommit_checker.py -rwxr-xr-x 5.5 KB
regression_build_test.sh -rwxr-xr-x 11.3 KB
rocksdb-lego-determinator -rwxr-xr-x 19.5 KB
run_ci_db_test.ps1 -rw-r--r-- 14.4 KB
setup_centos7.sh -rwxr-xr-x 1.0 KB
update_dependencies.sh -rwxr-xr-x 3.9 KB
version.sh -rwxr-xr-x 697 bytes

back to top