add conf item to re-disable atomic flush
Signed-off-by: Jason Volk <jason@zemos.net>
This commit is contained in:
parent
e123a5b660
commit
ecc9099127
3 changed files with 16 additions and 2 deletions
|
@ -925,6 +925,13 @@
|
||||||
#
|
#
|
||||||
#rocksdb_checksums = true
|
#rocksdb_checksums = true
|
||||||
|
|
||||||
|
# Enables the "atomic flush" mode in rocksdb. This option is not intended
|
||||||
|
# for users. It may be removed or ignored in future versions. Atomic flush
|
||||||
|
# may be enabled by the paranoid to possibly improve database integrity at
|
||||||
|
# the cost of performance.
|
||||||
|
#
|
||||||
|
#rocksdb_atomic_flush = false
|
||||||
|
|
||||||
# Database repair mode (for RocksDB SST corruption).
|
# Database repair mode (for RocksDB SST corruption).
|
||||||
#
|
#
|
||||||
# Use this option when the server reports corruption while running or
|
# Use this option when the server reports corruption while running or
|
||||||
|
|
|
@ -1089,6 +1089,13 @@ pub struct Config {
|
||||||
#[serde(default = "true_fn")]
|
#[serde(default = "true_fn")]
|
||||||
pub rocksdb_checksums: bool,
|
pub rocksdb_checksums: bool,
|
||||||
|
|
||||||
|
/// Enables the "atomic flush" mode in rocksdb. This option is not intended
|
||||||
|
/// for users. It may be removed or ignored in future versions. Atomic flush
|
||||||
|
/// may be enabled by the paranoid to possibly improve database integrity at
|
||||||
|
/// the cost of performance.
|
||||||
|
#[serde(default)]
|
||||||
|
pub rocksdb_atomic_flush: bool,
|
||||||
|
|
||||||
/// Database repair mode (for RocksDB SST corruption).
|
/// Database repair mode (for RocksDB SST corruption).
|
||||||
///
|
///
|
||||||
/// Use this option when the server reports corruption while running or
|
/// Use this option when the server reports corruption while running or
|
||||||
|
|
|
@ -29,9 +29,9 @@ pub(crate) fn db_options(config: &Config, env: &Env, row_cache: &Cache) -> Resul
|
||||||
opts.set_max_file_opening_threads(0);
|
opts.set_max_file_opening_threads(0);
|
||||||
|
|
||||||
// IO
|
// IO
|
||||||
opts.set_atomic_flush(true);
|
|
||||||
opts.set_manual_wal_flush(true);
|
opts.set_manual_wal_flush(true);
|
||||||
opts.set_enable_pipelined_write(false);
|
opts.set_atomic_flush(config.rocksdb_atomic_flush);
|
||||||
|
opts.set_enable_pipelined_write(!config.rocksdb_atomic_flush);
|
||||||
if config.rocksdb_direct_io {
|
if config.rocksdb_direct_io {
|
||||||
opts.set_use_direct_reads(true);
|
opts.set_use_direct_reads(true);
|
||||||
opts.set_use_direct_io_for_flush_and_compaction(true);
|
opts.set_use_direct_io_for_flush_and_compaction(true);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue