rocksdb/utilities
yiwu-arbug 5b68b114f1 Blob db create a snapshot before every read
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
2017-08-20 18:26:19 -07:00
..
backupable Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
blob_db Blob db create a snapshot before every read 2017-08-20 18:26:19 -07:00
cassandra Enable Cassandra merge operator to be called with a single merge operand 2017-08-17 15:01:09 -07:00
checkpoint Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
compaction_filters Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
convenience Change RocksDB License 2017-07-15 16:11:23 -07:00
date_tiered Add Iterator::Refresh() 2017-07-24 10:54:37 -07:00
document Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
geodb Change RocksDB License 2017-07-15 16:11:23 -07:00
leveldb_options Change RocksDB License 2017-07-15 16:11:23 -07:00
lua CodeMod: Prefer ADD_FAILURE() over EXPECT_TRUE(false), et cetera 2017-07-16 21:26:02 -07:00
memory Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_operators Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
option_change_migration Change RocksDB License 2017-07-15 16:11:23 -07:00
options Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
persistent_cache block_cache_tier: fix gcc-7 warnings 2017-08-10 11:58:53 -07:00
redis Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
simulator_cache CacheActivityLogger, component to log cache activity into a file 2017-07-28 12:36:48 -07:00
spatialdb Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
table_properties_collectors Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
transactions Added mechanism to track deadlock chain 2017-08-17 18:56:21 -07:00
ttl Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
write_batch_with_index Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
col_buf_decoder.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
col_buf_decoder.h Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
col_buf_encoder.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
col_buf_encoder.h Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_exp.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
column_aware_encoding_util.cc Replace dynamic_cast<> 2017-07-28 16:27:16 -07:00
column_aware_encoding_util.h Change RocksDB License 2017-07-15 16:11:23 -07:00
debug.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_librados_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_librados.cc Remove double buffering on RandomRead on Windows. 2017-04-27 12:30:05 -07:00
env_librados.md Add EnvLibrados - RocksDB Env of RADOS (#1222) 2016-07-21 11:16:34 -07:00
env_mirror_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_mirror.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_timed_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
env_timed.cc Change RocksDB License 2017-07-15 16:11:23 -07:00
merge_operators.h Change RocksDB License 2017-07-15 16:11:23 -07:00
object_registry_test.cc Revert "comment out unused parameters" 2017-07-21 18:26:26 -07:00
util_merge_operators_test.cc Change RocksDB License 2017-07-15 16:11:23 -07:00