ldb option for compression dictionary size
Summary: Expose the option so it's easy to run offline tests of compression dictionary feature. Test Plan: verified compression dictionary is loaded into lz4 for below command: $ ./ldb compact --compression_type=lz4 --compression_max_dict_bytes=16384 --db=/tmp/feed-compression-test/ Reviewers: IslamAbdelRahman, sdong Reviewed By: sdong Subscribers: andrewkr, dhruba, leveldb Differential Revision: https://reviews.facebook.net/D57441
This commit is contained in:
parent
c27061dae7
commit
5c1c904877
@ -44,6 +44,7 @@ class LDBCommand {
|
||||
static const std::string ARG_BLOOM_BITS;
|
||||
static const std::string ARG_FIX_PREFIX_LEN;
|
||||
static const std::string ARG_COMPRESSION_TYPE;
|
||||
static const std::string ARG_COMPRESSION_MAX_DICT_BYTES;
|
||||
static const std::string ARG_BLOCK_SIZE;
|
||||
static const std::string ARG_AUTO_COMPACTION;
|
||||
static const std::string ARG_DB_WRITE_BUFFER_SIZE;
|
||||
|
@ -58,6 +58,8 @@ const string LDBCommand::ARG_MAX_KEYS = "max_keys";
|
||||
const string LDBCommand::ARG_BLOOM_BITS = "bloom_bits";
|
||||
const string LDBCommand::ARG_FIX_PREFIX_LEN = "fix_prefix_len";
|
||||
const string LDBCommand::ARG_COMPRESSION_TYPE = "compression_type";
|
||||
const string LDBCommand::ARG_COMPRESSION_MAX_DICT_BYTES =
|
||||
"compression_max_dict_bytes";
|
||||
const string LDBCommand::ARG_BLOCK_SIZE = "block_size";
|
||||
const string LDBCommand::ARG_AUTO_COMPACTION = "auto_compaction";
|
||||
const string LDBCommand::ARG_DB_WRITE_BUFFER_SIZE = "db_write_buffer_size";
|
||||
@ -363,6 +365,7 @@ vector<string> LDBCommand::BuildCmdLineOptions(vector<string> options) {
|
||||
ARG_BLOCK_SIZE,
|
||||
ARG_AUTO_COMPACTION,
|
||||
ARG_COMPRESSION_TYPE,
|
||||
ARG_COMPRESSION_MAX_DICT_BYTES,
|
||||
ARG_WRITE_BUFFER_SIZE,
|
||||
ARG_FILE_SIZE,
|
||||
ARG_FIX_PREFIX_LEN,
|
||||
@ -483,6 +486,17 @@ Options LDBCommand::PrepareOptionsForOpenDB() {
|
||||
}
|
||||
}
|
||||
|
||||
int compression_max_dict_bytes;
|
||||
if (ParseIntOption(option_map_, ARG_COMPRESSION_MAX_DICT_BYTES,
|
||||
compression_max_dict_bytes, exec_state_)) {
|
||||
if (compression_max_dict_bytes >= 0) {
|
||||
opt.compression_opts.max_dict_bytes = compression_max_dict_bytes;
|
||||
} else {
|
||||
exec_state_ = LDBCommandExecuteResult::Failed(
|
||||
ARG_COMPRESSION_MAX_DICT_BYTES + " must be >= 0.");
|
||||
}
|
||||
}
|
||||
|
||||
int db_write_buffer_size;
|
||||
if (ParseIntOption(option_map_, ARG_DB_WRITE_BUFFER_SIZE,
|
||||
db_write_buffer_size, exec_state_)) {
|
||||
|
@ -45,7 +45,9 @@ public:
|
||||
ret.append(" --" + LDBCommand::ARG_BLOOM_BITS + "=<int,e.g.:14>\n");
|
||||
ret.append(" --" + LDBCommand::ARG_FIX_PREFIX_LEN + "=<int,e.g.:14>\n");
|
||||
ret.append(" --" + LDBCommand::ARG_COMPRESSION_TYPE +
|
||||
"=<no|snappy|zlib|bzip2>\n");
|
||||
"=<no|snappy|zlib|bzip2|lz4|lz4hc|xpress|zstd>\n");
|
||||
ret.append(" --" + LDBCommand::ARG_COMPRESSION_MAX_DICT_BYTES +
|
||||
"=<int,e.g.:14>\n");
|
||||
ret.append(" --" + LDBCommand::ARG_BLOCK_SIZE +
|
||||
"=<block_size_in_bytes>\n");
|
||||
ret.append(" --" + LDBCommand::ARG_AUTO_COMPACTION + "=<true|false>\n");
|
||||
|
Loading…
x
Reference in New Issue
Block a user