Revision 5b68b114f1038180f1ead4b8abd45fa1d92ffa30 authored by yiwu-arbug on 21 August 2017, 01:12:38 UTC, committed by Facebook Github Bot on 21 August 2017, 01:26:19 UTC
Summary:
If GC kicks in between

* A Get() reads index entry from base db.
* The Get() read from a blob file

The GC can delete the corresponding blob file, making the key not found. Fortunately we have existing logic to avoid deleting a blob file if it is referenced by a snapshot. So the fix is to explicitly create a snapshot before reading index entry from base db.
Closes https://github.com/facebook/rocksdb/pull/2754

Differential Revision: D5655956

Pulled By: yiwu-arbug

fbshipit-source-id: e4ccbc51331362542e7343175bbcbdea5830f544
1 parent 4624ae5
History
File Mode Size
buckifier
build_tools
cache
cmake
coverage
db
docs
env
examples
hdfs
include
java
memtable
monitoring
options
port
table
third-party
tools
util
utilities
.clang-format -rw-r--r-- 138 bytes
.gitignore -rw-r--r-- 726 bytes
.travis.yml -rw-r--r-- 2.4 KB
AUTHORS -rw-r--r-- 247 bytes
CMakeLists.txt -rw-r--r-- 29.5 KB
CONTRIBUTING.md -rw-r--r-- 607 bytes
COPYING -rw-r--r-- 17.7 KB
DEFAULT_OPTIONS_HISTORY.md -rw-r--r-- 1.5 KB
DUMP_FORMAT.md -rw-r--r-- 763 bytes
HISTORY.md -rw-r--r-- 47.3 KB
INSTALL.md -rw-r--r-- 5.8 KB
LANGUAGE-BINDINGS.md -rw-r--r-- 712 bytes
LICENSE.Apache -rw-r--r-- 11.1 KB
LICENSE.leveldb -rw-r--r-- 1.5 KB
Makefile -rw-r--r-- 58.4 KB
README.md -rw-r--r-- 1.4 KB
ROCKSDB_LITE.md -rw-r--r-- 1.0 KB
TARGETS -rw-r--r-- 20.4 KB
USERS.md -rw-r--r-- 5.0 KB
Vagrantfile -rw-r--r-- 877 bytes
WINDOWS_PORT.md -rw-r--r-- 12.5 KB
appveyor.yml -rw-r--r-- 416 bytes
src.mk -rw-r--r-- 25.9 KB
thirdparty.inc -rw-r--r-- 7.8 KB

README.md

back to top