rocksdb/utilities
Yi Wu b024e77f49 Avoid blob db call Sync() while writing
Summary:
The FsyncFiles background job call Fsync() periodically for blob files. However it can access WritableFileWriter concurrently with a Put() or Write(). And WritableFileWriter does not support concurrent access. It will lead to WritableFileWriter buffer being flush with same content twice, and blob file end up corrupted. Fixing by simply let FsyncFiles hold write_mutex_.
Closes https://github.com/facebook/rocksdb/pull/2685

Differential Revision: D5561908

Pulled By: yiwu-arbug

fbshipit-source-id: f0bb5bcab0e05694e053b8c49eab43640721e872
2017-08-31 14:17:33 -07:00
..
backupable Change RocksDB License 2017-07-26 11:31:01 -07:00
blob_db Avoid blob db call Sync() while writing 2017-08-31 14:17:33 -07:00
checkpoint Change RocksDB License 2017-07-26 11:31:01 -07:00
compaction_filters Change RocksDB License 2017-07-26 11:31:01 -07:00
convenience Change RocksDB License 2017-07-26 11:31:01 -07:00
date_tiered Change RocksDB License 2017-07-26 11:31:01 -07:00
document Change RocksDB License 2017-07-26 11:31:01 -07:00
geodb Change RocksDB License 2017-07-26 11:31:01 -07:00
leveldb_options Change RocksDB License 2017-07-26 11:31:01 -07:00
lua Change RocksDB License 2017-07-26 11:31:01 -07:00
memory Change RocksDB License 2017-07-26 11:31:01 -07:00
merge_operators Change RocksDB License 2017-07-26 11:31:01 -07:00
option_change_migration Change RocksDB License 2017-07-26 11:31:01 -07:00
options Change RocksDB License 2017-07-26 11:31:01 -07:00
persistent_cache Change RocksDB License 2017-07-26 11:31:01 -07:00
redis Change RocksDB License 2017-07-26 11:31:01 -07:00
simulator_cache Change RocksDB License 2017-07-26 11:31:01 -07:00
spatialdb Change RocksDB License 2017-07-26 11:31:01 -07:00
table_properties_collectors Change RocksDB License 2017-07-26 11:31:01 -07:00
transactions Change RocksDB License 2017-07-26 11:31:01 -07:00
ttl Fix GetCurrentTime() initialization for valgrind 2017-07-05 12:12:00 -07:00
write_batch_with_index Change RocksDB License 2017-07-26 11:31:01 -07:00
col_buf_decoder.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
col_buf_decoder.h Change RocksDB License 2017-07-26 11:31:01 -07:00
col_buf_encoder.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
col_buf_encoder.h Change RocksDB License 2017-07-26 11:31:01 -07:00
column_aware_encoding_exp.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
column_aware_encoding_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
column_aware_encoding_util.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
column_aware_encoding_util.h Change RocksDB License 2017-07-26 11:31:01 -07:00
debug.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
env_librados_test.cc Change RocksDB License 2017-07-26 11:31:01 -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-26 11:31:01 -07:00
env_mirror.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
env_timed_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
env_timed.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
merge_operators.h Change RocksDB License 2017-07-26 11:31:01 -07:00
object_registry_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00
util_merge_operators_test.cc Change RocksDB License 2017-07-26 11:31:01 -07:00