Fix db_bench default compression level (#4248)
Summary: db_bench's previous default compression level (-1) was not the default compression level in all libraries. In particular, in ZSTD negative values are valid compression levels, while ZSTD's default compression level is three. This PR changes db_bench's default to be RocksDB's library-independent default compression level (see #3895). I also changed a couple other flags to get their default values from an options object directly rather than hardcoding. Pull Request resolved: https://github.com/facebook/rocksdb/pull/4248 Differential Revision: D9235140 Pulled By: ajkr fbshipit-source-id: be4e0722d59fa1968832183db36d1d20fcf11e5b
This commit is contained in:
parent
eb8885a08a
commit
7a9a164276
@ -769,30 +769,21 @@ DEFINE_string(compression_type, "snappy",
|
||||
static enum rocksdb::CompressionType FLAGS_compression_type_e =
|
||||
rocksdb::kSnappyCompression;
|
||||
|
||||
DEFINE_int32(compression_level, -1,
|
||||
"Compression level. For zlib this should be -1 for the "
|
||||
"default level, or between 0 and 9.");
|
||||
DEFINE_int32(compression_level, rocksdb::CompressionOptions().level,
|
||||
"Compression level. The meaning of this value is library-"
|
||||
"dependent. If unset, we try to use the default for the library "
|
||||
"specified in `--compression_type`");
|
||||
|
||||
DEFINE_int32(compression_max_dict_bytes, 0,
|
||||
DEFINE_int32(compression_max_dict_bytes,
|
||||
rocksdb::CompressionOptions().max_dict_bytes,
|
||||
"Maximum size of dictionary used to prime the compression "
|
||||
"library.");
|
||||
|
||||
DEFINE_int32(compression_zstd_max_train_bytes, 0,
|
||||
DEFINE_int32(compression_zstd_max_train_bytes,
|
||||
rocksdb::CompressionOptions().zstd_max_train_bytes,
|
||||
"Maximum size of training data passed to zstd's dictionary "
|
||||
"trainer.");
|
||||
|
||||
static bool ValidateCompressionLevel(const char* flagname, int32_t value) {
|
||||
if (value < -1 || value > 9) {
|
||||
fprintf(stderr, "Invalid value for --%s: %d, must be between -1 and 9\n",
|
||||
flagname, value);
|
||||
return false;
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
static const bool FLAGS_compression_level_dummy __attribute__((__unused__)) =
|
||||
RegisterFlagValidator(&FLAGS_compression_level, &ValidateCompressionLevel);
|
||||
|
||||
DEFINE_int32(min_level_to_compress, -1, "If non-negative, compression starts"
|
||||
" from this level. Levels with number < min_level_to_compress are"
|
||||
" not compressed. Otherwise, apply compression_type to "
|
||||
|
Loading…
x
Reference in New Issue
Block a user