1
0
Fork 0

re-enable user settings for RocksDB

This commit is contained in:
jsteemann 2017-04-21 15:28:29 +02:00
parent 62d0bb36d1
commit 361d513087
2 changed files with 23 additions and 17 deletions

View File

@ -158,7 +158,7 @@ void RocksDBEngine::start() {
// options imported set by RocksDBOptionFeature
auto* opts = ApplicationServer::getFeature<arangodb::RocksDBOptionFeature>(
"RocksDBOption");
/*
_options.write_buffer_size = static_cast<size_t>(opts->_writeBufferSize);
_options.max_write_buffer_number =
static_cast<int>(opts->_maxWriteBufferNumber);
@ -183,7 +183,7 @@ void RocksDBEngine::start() {
static_cast<size_t>(opts->_logFileTimeToRoll);
_options.compaction_readahead_size =
static_cast<size_t>(opts->_compactionReadaheadSize);
*/
_options.create_if_missing = true;
_options.max_open_files = -1;
_options.comparator = _cmp.get();

View File

@ -30,28 +30,34 @@
#include "ProgramOptions/Section.h"
#include "RestServer/DatabasePathFeature.h"
#include <rocksdb/options.h>
using namespace arangodb;
using namespace arangodb::application_features;
using namespace arangodb::options;
namespace {
rocksdb::Options rocksDBDefaults;
}
RocksDBOptionFeature::RocksDBOptionFeature(
application_features::ApplicationServer* server)
: application_features::ApplicationFeature(server, "RocksDBOption"),
_writeBufferSize(0),
_maxWriteBufferNumber(2),
_delayedWriteRate(2 * 1024 * 1024),
_minWriteBufferNumberToMerge(1),
_numLevels(4),
_maxBytesForLevelBase(256 * 1024 * 1024),
_maxBytesForLevelMultiplier(10),
_baseBackgroundCompactions(1),
_maxBackgroundCompactions(1),
_maxLogFileSize(0),
_keepLogFileNum(1000),
_logFileTimeToRoll(0),
_compactionReadaheadSize(0),
_verifyChecksumsInCompaction(true),
_optimizeFiltersForHits(true) {
_writeBufferSize(rocksDBDefaults.write_buffer_size),
_maxWriteBufferNumber(rocksDBDefaults.max_write_buffer_number),
_delayedWriteRate(rocksDBDefaults.delayed_write_rate),
_minWriteBufferNumberToMerge(rocksDBDefaults.min_write_buffer_number_to_merge),
_numLevels(rocksDBDefaults.num_levels),
_maxBytesForLevelBase(rocksDBDefaults.max_bytes_for_level_base),
_maxBytesForLevelMultiplier(rocksDBDefaults.max_bytes_for_level_multiplier),
_baseBackgroundCompactions(rocksDBDefaults.base_background_compactions),
_maxBackgroundCompactions(rocksDBDefaults.max_background_compactions),
_maxLogFileSize(rocksDBDefaults.max_log_file_size),
_keepLogFileNum(rocksDBDefaults.keep_log_file_num),
_logFileTimeToRoll(rocksDBDefaults.log_file_time_to_roll),
_compactionReadaheadSize(rocksDBDefaults.compaction_readahead_size),
_verifyChecksumsInCompaction(rocksDBDefaults.verify_checksums_in_compaction),
_optimizeFiltersForHits(rocksDBDefaults.optimize_filters_for_hits) {
setOptional(true);
requiresElevatedPrivileges(false);
startsAfter("DatabasePath");