[PATCH]delete redis monitor dead code

This commit is contained in:
liuwentan
2023-11-09 16:00:33 +08:00
parent 7aa9329c3f
commit 98d4fb34ed
15 changed files with 61 additions and 218 deletions

View File

@@ -232,7 +232,7 @@ Maat实例的工作线程定时轮询Redis中MAAT_VERSION如果大于实例
{
"table_name": "IP_CONFIG", //域表表名和类型,应与配置表
//描述文件一致
"table_type": "ip",//类型包括 ip, string, intval 三种
"table_type": "ip",//类型包括 ip, string, interval 三种
"table_content": {//以下是ip类配置表的格式
"addr_type": "ipv4",//地址类型可选ipv4和ipv6
"src_ip": "10.0.6.201",
@@ -306,7 +306,7 @@ Maat实例的工作线程定时轮询Redis中MAAT_VERSION如果大于实例
"regions": [
{
"table_name": "CONTENT_SIZE",
"table_type": "intval",
"table_type": "interval",
"table_content": {
"low_boundary": 100, //上下界的约定参照数值类域配
"up_boundary": 500 //置表定义

View File

@@ -24,8 +24,8 @@ Item tables are further subdivided into different types of subtables as follows:
- [expr item table](#11-expr-item-table)
- [expr_plus item table](#12-expr_plus-item-table)
- [ip_plus item table](#13-ip_plus-item-table)
- [intval item table](#14-numeric-range-item-table)
- [intval_plus item table](#14-numeric-range-item-table)
- [interval item table](#14-numeric-range-item-table)
- [interval_plus item table](#14-numeric-range-item-table)
- [flag item table](#15-flag-item-table)
- [flag_plus item table](#16-flag_plus-item-table)

View File

@@ -42,7 +42,7 @@ long long interval_runtime_rule_count(void *interval_runtime);
/* interval runtime scan API */
/**
* @brief scan intval to get hit group_ids
* @brief scan interval to get hit group_ids
*
* @retval the num of hit group_id
*/

View File

@@ -79,9 +79,9 @@ void maat_get_foreign_conts(redisContext *c, struct serial_rule *rule_list,
void maat_rewrite_table_line_with_foreign(struct serial_rule *s_rule);
int maat_get_rm_key_list(redisContext *c, long long instance_version,
long long desired_version, long long *new_version,
struct table_manager *tbl_mgr, struct serial_rule **list,
int *update_type, int cumulative_off, struct log_handle *logger);
long long *new_version, struct table_manager *tbl_mgr,
struct serial_rule **list, int *update_type,
int cumulative_off, struct log_handle *logger);
void redis_monitor_traverse(long long version, struct source_redis_ctx *mr_ctx,
void (*start_fn)(long long, int, void *),

View File

@@ -125,7 +125,7 @@ struct maat_options {
int maat_json_is_gzipped;
int cumulative_update_off; //Default: cumulative update on
int gc_timeout_ms;
int rule_effect_interval_ms;
int rule_update_checking_interval_ms;
@@ -173,7 +173,6 @@ struct maat {
long long maat_version;
long long last_full_version;
long long load_specific_version; //Default: Load the Latest. Only valid in redis mode, and maybe failed for too old
/* internal state */
long long new_version;

View File

@@ -149,9 +149,7 @@ static int set_iris_descriptor(const char *json_file, cJSON *json,
maat_kv_register(iris_cfg->str2int_map, "string", TABLE_TYPE_EXPR);
maat_kv_register(iris_cfg->str2int_map, "expr", TABLE_TYPE_EXPR);
maat_kv_register(iris_cfg->str2int_map, "expr_plus", TABLE_TYPE_EXPR_PLUS);
maat_kv_register(iris_cfg->str2int_map, "intval", TABLE_TYPE_INTERVAL);
maat_kv_register(iris_cfg->str2int_map, "interval", TABLE_TYPE_INTERVAL);
maat_kv_register(iris_cfg->str2int_map, "intval_plus", TABLE_TYPE_INTERVAL_PLUS);
maat_kv_register(iris_cfg->str2int_map, "interval_plus", TABLE_TYPE_INTERVAL_PLUS);
maat_kv_register(iris_cfg->str2int_map, "ipv4", 4);
@@ -578,7 +576,7 @@ static int write_ip_plus_line(cJSON *region_json, struct iris_description *p_iri
json_cmd, cmd_cnt, table, logger);
}
static int write_intval_line(cJSON *region_json, struct iris_description *p_iris,
static int write_interval_line(cJSON *region_json, struct iris_description *p_iris,
struct iris_table *table, struct log_handle *logger)
{
struct translate_command json_cmd[MAX_COLUMN_NUM];
@@ -676,7 +674,7 @@ static int write_region_rule(cJSON *region_json, int compile_id, int group_id,
break;
case TABLE_TYPE_INTERVAL:
case TABLE_TYPE_INTERVAL_PLUS:
ret = write_intval_line(table_content, p_iris, table_info, logger);
ret = write_interval_line(table_content, p_iris, table_info, logger);
break;
default:
assert(0);

View File

@@ -109,7 +109,7 @@ void *interval_schema_new(cJSON *json, struct table_manager *tbl_mgr,
}
/* interval_plus has district */
if (strcmp(table_type, "intval_plus") == 0) {
if (strcmp(table_type, "interval_plus") == 0) {
custom_item = cJSON_GetObjectItem(item, "district");
if (custom_item != NULL && custom_item->type == cJSON_Number) {
schema->district_column = custom_item->valueint;

View File

@@ -593,13 +593,13 @@ int ip_runtime_commit(void *ip_runtime, const char *table_name,
ip_rt->ipv6_rule_num = 0;
struct ip_rule *rules = NULL;
struct interval_rule *intval_rules = NULL;
struct interval_rule *interval_rules = NULL;
void **ex_data_array = NULL;
size_t rule_cnt = rcu_updating_hash_list(ip_rt->item_hash, &ex_data_array);
if (rule_cnt > 0) {
rules = ALLOC(struct ip_rule, rule_cnt);
intval_rules = ALLOC(struct interval_rule, rule_cnt);
interval_rules = ALLOC(struct interval_rule, rule_cnt);
for (size_t i = 0; i < rule_cnt; i++) {
struct ip_item *item = (struct ip_item *)ex_data_array[i];
if (item->addr_type == IPv6) {
@@ -607,7 +607,7 @@ int ip_runtime_commit(void *ip_runtime, const char *table_name,
}
ip_item_to_ip_rule(item, &rules[i]);
ip_item_to_port_rule(item, &intval_rules[i]);
ip_item_to_port_rule(item, &interval_rules[i]);
}
}
@@ -653,8 +653,8 @@ int ip_runtime_commit(void *ip_runtime, const char *table_name,
FREE(rules);
}
if (intval_rules != NULL) {
FREE(intval_rules);
if (interval_rules != NULL) {
FREE(interval_rules);
}
if (ex_data_array != NULL) {

View File

@@ -477,125 +477,10 @@ void maat_set_serial_rule(struct serial_rule *rule, enum maat_operation op,
}
}
static void serial_rule_free(struct serial_rule *s_rule)
{
if (NULL == s_rule) {
return;
}
if (s_rule->table_line != NULL) {
FREE(s_rule->table_line);
}
if (s_rule->n_foreign > 0) {
for (int i = 0; i < s_rule->n_foreign; i++) {
if (s_rule->f_keys[i].filename != NULL) {
FREE(s_rule->f_keys[i].filename);
}
if (s_rule->f_keys[i].key != NULL) {
FREE(s_rule->f_keys[i].key);
}
}
if (s_rule->f_keys != NULL) {
FREE(s_rule->f_keys);
}
}
FREE(s_rule);
}
static struct serial_rule *serial_rule_clone(const struct serial_rule *s_rule)
{
struct serial_rule *new_rule = ALLOC(struct serial_rule, 1);
new_rule->op = s_rule->op;
new_rule->rule_id = s_rule->rule_id;
new_rule->timeout = s_rule->timeout;
memcpy(new_rule->table_name, s_rule->table_name, strlen(s_rule->table_name));
new_rule->n_foreign = s_rule->n_foreign;
new_rule->table_line = ALLOC(char, strlen(s_rule->table_line) + 1);
memcpy(new_rule->table_line, s_rule->table_line, strlen(s_rule->table_line));
new_rule->f_keys = ALLOC(struct foreign_key, new_rule->n_foreign);
for (int j = 0; j < new_rule->n_foreign; j++) {
new_rule->f_keys[j].key = ALLOC(char, s_rule->f_keys[j].key_len + 1);
memcpy(new_rule->f_keys[j].key, s_rule->f_keys[j].key, s_rule->f_keys[j].key_len);
new_rule->f_keys[j].filename = ALLOC(char, strlen(s_rule->f_keys[j].filename) + 1);
memcpy(new_rule->f_keys[j].filename, s_rule->f_keys[j].filename,
strlen(s_rule->f_keys[j].filename));
}
return new_rule;
}
static int recovery_history_version(const struct serial_rule *current, int current_num,
const struct serial_rule *changed, int changed_num,
struct serial_rule **history_result)
{
int i = 0;
int ret = 0;
unsigned int history_num = 0;
int hash_slot_size = 1;
char hkey[256+20] = {0};
int tmp = current_num + changed_num;
for (; tmp > 0; tmp = tmp/2) {
hash_slot_size *= 2;
}
struct serial_rule *s_rule_map = NULL;
struct serial_rule *rule_node = NULL;
for (i = 0; i < current_num; i++) {
snprintf(hkey, sizeof(hkey), "%lld,%s", current[i].rule_id, current[i].table_name);
rule_node = serial_rule_clone(current + i);
HASH_ADD_KEYPTR(hh, s_rule_map, hkey, strlen(hkey), rule_node);
}
for (i = changed_num - 1; i >= 0; i--) {
snprintf(hkey, sizeof(hkey), "%lld,%s", changed[i].rule_id, changed[i].table_name);
//newly added rule is need to delete from current, so that history version can be recovered.
if (changed[i].op == MAAT_OP_ADD) {
rule_node = NULL;
HASH_FIND(hh, s_rule_map, hkey, strlen(hkey), rule_node);
if (rule_node != NULL) {
HASH_DELETE(hh, s_rule_map, rule_node);
}
serial_rule_free(rule_node);
} else {
rule_node = serial_rule_clone(changed + i);
HASH_ADD_KEYPTR(hh, s_rule_map, hkey, strlen(hkey), rule_node);
}
}
history_num = HASH_CNT(hh, s_rule_map);
struct serial_rule *array = ALLOC(struct serial_rule, history_num);
struct serial_rule *elem_node = NULL;
struct serial_rule *tmp_node = NULL;
i = 0;
HASH_ITER(hh, s_rule_map, elem_node, tmp_node) {
memcpy(&array[i], elem_node, sizeof(struct serial_rule));
array[i].op = MAAT_OP_ADD;
i++;
}
elem_node = NULL;
tmp_node = NULL;
*history_result = array;
ret = history_num;
HASH_ITER(hh, s_rule_map, elem_node, tmp_node) {
HASH_DELETE(hh, s_rule_map, elem_node);
serial_rule_free(elem_node);
}
return ret;
}
int maat_get_rm_key_list(redisContext *c, long long instance_version,
long long desired_version, long long *new_version,
struct table_manager *tbl_mgr, struct serial_rule **list,
int *update_type, int cumulative_off, struct log_handle *logger)
long long *new_version, struct table_manager *tbl_mgr,
struct serial_rule **list, int *update_type,
int cumulative_off, struct log_handle *logger)
{
int rule_num = 0;
long long target_version = 0;
@@ -635,7 +520,7 @@ int maat_get_rm_key_list(redisContext *c, long long instance_version,
return 0;
}
if (0 == instance_version || desired_version != 0) {
if (0 == instance_version) {
goto FULL_UPDATE;
}
@@ -668,9 +553,8 @@ int maat_get_rm_key_list(redisContext *c, long long instance_version,
if (0 == rule_num) {
log_info(logger, MODULE_REDIS_MONITOR,
"Got nothing after ZRANGEBYSCORE %s (%lld %lld, cumulative %s",
mr_status_sset, instance_version, target_version-1,
cumulative_off == 1 ? "OFF" : "ON");
"Got nothing after ZRANGEBYSCORE %s (%lld %lld",
mr_status_sset, instance_version, target_version - 1);
return 0;
}
@@ -686,7 +570,7 @@ int maat_get_rm_key_list(redisContext *c, long long instance_version,
FULL_UPDATE:
log_info(logger, MODULE_REDIS_MONITOR,
"Initiate full update from instance_version %lld to %lld",
instance_version, desired_version == 0 ? redis_version : desired_version);
instance_version, redis_version);
size_t append_cmd_cnt = 0;
int ret = redisAppendCommand(c, "MULTI");
append_cmd_cnt++;
@@ -770,35 +654,6 @@ FULL_UPDATE:
freeReplyObject(reply);
reply = NULL;
if (desired_version != 0) {
struct serial_rule *changed_rule_array = NULL;
int changed_rule_num = get_inc_key_list(desired_version, redis_version,
c, &changed_rule_array, logger);
if (changed_rule_num < 0) {
log_error(logger, MODULE_REDIS_MONITOR,
"[%s:%d] Recover history version %lld faild where as redis version is %lld",
__FUNCTION__, __LINE__, desired_version, redis_version);
} else if(0 == changed_rule_num) {
log_error(logger, MODULE_REDIS_MONITOR,
"[%s:%d] Nothing to recover from history version %lld to redis version is %lld",
__FUNCTION__, __LINE__, desired_version, redis_version);
} else {
struct serial_rule *history_rule_array = NULL;
ret = recovery_history_version(s_rule_array, full_idx, changed_rule_array,
changed_rule_num, &history_rule_array);
if (ret > 0) {
FREE(s_rule_array);
s_rule_array = history_rule_array;
rule_num = ret;
*new_version = desired_version;
log_info(logger, MODULE_REDIS_MONITOR,
"Successfully recovered from history version %lld to redis version is %lld",
desired_version, redis_version);
}
}
FREE(changed_rule_array);
}
*list = s_rule_array;
*update_type = MAAT_UPDATE_TYPE_FULL;
log_info(logger, MODULE_REDIS_MONITOR,
@@ -1491,10 +1346,9 @@ void redis_monitor_traverse(long long version, struct source_redis_ctx *mr_ctx,
int update_type = MAAT_UPDATE_TYPE_INC;
int rule_num = maat_get_rm_key_list(mr_ctx->read_ctx, version,
maat_inst->load_specific_version,
&new_version, maat_inst->tbl_mgr,
&rule_list, &update_type,
maat_inst->opts.cumulative_update_off,
maat_inst->opts.cumulative_update_off,
maat_inst->logger);
//redis communication error
if (rule_num < 0) {
@@ -1503,7 +1357,6 @@ void redis_monitor_traverse(long long version, struct source_redis_ctx *mr_ctx,
return;
}
maat_inst->load_specific_version = 0;//only valid for one time.
//error or nothing changed
if (0 == rule_num && update_type == MAAT_UPDATE_TYPE_INC) {
return;

View File

@@ -485,8 +485,8 @@ static void register_reserved_word(struct maat_kv_store *reserved_word_map)
maat_kv_register(reserved_word_map, "flag_plus", TABLE_TYPE_FLAG_PLUS);
maat_kv_register(reserved_word_map, "expr", TABLE_TYPE_EXPR);
maat_kv_register(reserved_word_map, "expr_plus", TABLE_TYPE_EXPR_PLUS);
maat_kv_register(reserved_word_map, "intval", TABLE_TYPE_INTERVAL);
maat_kv_register(reserved_word_map, "intval_plus", TABLE_TYPE_INTERVAL_PLUS);
maat_kv_register(reserved_word_map, "interval", TABLE_TYPE_INTERVAL);
maat_kv_register(reserved_word_map, "interval_plus", TABLE_TYPE_INTERVAL_PLUS);
maat_kv_register(reserved_word_map, "ip_plus", TABLE_TYPE_IP_PLUS);
maat_kv_register(reserved_word_map, "plugin", TABLE_TYPE_PLUGIN);
maat_kv_register(reserved_word_map, "ip_plugin", TABLE_TYPE_IP_PLUGIN);

View File

@@ -308,7 +308,7 @@
{
"table_id":20,
"table_name":"INTEGER_1K",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,
@@ -320,7 +320,7 @@
{
"table_id":21,
"table_name":"INTEGER_5K",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,
@@ -332,7 +332,7 @@
{
"table_id":22,
"table_name":"INTEGER_10K",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,
@@ -344,7 +344,7 @@
{
"table_id":23,
"table_name":"INTEGER_50K",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,
@@ -356,7 +356,7 @@
{
"table_id":24,
"table_name":"INTEGER_100K",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,

View File

@@ -80,7 +80,7 @@
{
"table_id":6,
"table_name":"NTC_UNIVERSAL_PROTO_TYPE",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,

View File

@@ -239,11 +239,11 @@ int expr_table_set_line(struct maat *maat_inst, const char *table_name,
return maat_cmd_set_line(maat_inst, &line_rule);
}
int intval_table_set_line(struct maat *maat_inst, const char *table_name,
enum maat_operation op, long long item_id,
long long group_id, unsigned int low_boundary,
unsigned int up_boundary, const char *district,
int expire_after)
int interval_table_set_line(struct maat *maat_inst, const char *table_name,
enum maat_operation op, long long item_id,
long long group_id, unsigned int low_boundary,
unsigned int up_boundary, const char *district,
int expire_after)
{
char table_line[1024] = {0};
int table_id = maat_get_table_id(maat_inst, table_name);
@@ -6944,8 +6944,8 @@ TEST_F(MaatCmdTest, GroupInMassCompiles) {
//item_appid -> group3
long long group3_id = maat_cmd_incrby(maat_inst, "SEQUENCE_GROUP", 1);
long long item3_id = maat_cmd_incrby(maat_inst, "SEQUENCE_REGION", 1);
ret = intval_table_set_line(maat_inst, table_appid, MAAT_OP_ADD, item3_id,
group3_id, 100, 100, NULL, 0);
ret = interval_table_set_line(maat_inst, table_appid, MAAT_OP_ADD, item3_id,
group3_id, 100, 100, NULL, 0);
EXPECT_EQ(ret, 1);
/* item_url1 -> group1 -> compile[0 ~ COMPILE_ID_NUMS]
@@ -7930,8 +7930,8 @@ TEST_F(MaatCmdTest, SameScanStatusWhenClauseUpdate_TSG6419) {
EXPECT_EQ(ret, 1);
long long item21_id = maat_cmd_incrby(maat_inst, "SEQUENCE_REGION", 1);
ret = intval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_ADD,
item21_id, group21_id, 31, 31, NULL, 0);
ret = interval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_ADD,
item21_id, group21_id, 31, 31, NULL, 0);
EXPECT_EQ(ret, 1);
sleep(WAIT_FOR_EFFECTIVE_S * 2);
@@ -7970,8 +7970,8 @@ TEST_F(MaatCmdTest, SameScanStatusWhenClauseUpdate_TSG6419) {
EXPECT_EQ(ret, 1);
long long item22_id = maat_cmd_incrby(maat_inst, "SEQUENCE_REGION", 1);
ret = intval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_ADD,
item22_id, group22_id, 32, 32, NULL, 0);
ret = interval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_ADD,
item22_id, group22_id, 32, 32, NULL, 0);
EXPECT_EQ(ret, 1);
sleep(WAIT_FOR_EFFECTIVE_S * 2);
@@ -8025,8 +8025,8 @@ TEST_F(MaatCmdTest, GroupEdit) {
EXPECT_EQ(ret, 1);
long long item21_id = maat_cmd_incrby(maat_inst, "SEQUENCE_REGION", 1);
ret = intval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_ADD,
item21_id, group21_id, 41, 41, NULL, 0);
ret = interval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_ADD,
item21_id, group21_id, 41, 41, NULL, 0);
EXPECT_EQ(ret, 1);
sleep(WAIT_FOR_EFFECTIVE_S * 2);
@@ -8059,9 +8059,9 @@ TEST_F(MaatCmdTest, GroupEdit) {
item22 -> /
*/
long long item22_id = maat_cmd_incrby(maat_inst, "SEQUENCE_REGION", 1);
ret = intval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_ADD,
item22_id, group21_id, scan_app_id,
scan_app_id, NULL, 0);
ret = interval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_ADD,
item22_id, group21_id, scan_app_id,
scan_app_id, NULL, 0);
EXPECT_EQ(ret, 1);
sleep(WAIT_FOR_EFFECTIVE_S);
@@ -8092,7 +8092,7 @@ TEST_F(MaatCmdTest, GroupEdit) {
/* item11 -> group11 -> clause1 -> compile1
item21 -> group21 -> clause2 _/
*/
ret = intval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_DEL,
ret = interval_table_set_line(maat_inst, app_id_table_name, MAAT_OP_DEL,
item22_id, group21_id, scan_app_id,
scan_app_id, NULL, 0);
EXPECT_EQ(ret, 1);

View File

@@ -173,7 +173,7 @@
{
"table_id":13,
"table_name":"CONTENT_SIZE",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,
@@ -422,7 +422,7 @@
{
"table_id":35,
"table_name":"INTERGER_PLUS",
"table_type":"intval_plus",
"table_type":"interval_plus",
"valid_column":6,
"custom": {
"item_id":1,
@@ -447,7 +447,7 @@
{
"table_id":37,
"table_name":"APP_ID",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,
@@ -473,7 +473,7 @@
{
"table_id":39,
"table_name":"EMPTY_INTERGER",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,
@@ -583,7 +583,7 @@
{
"table_id":48,
"table_name":"INTEGER_PERF_CONFIG",
"table_type":"intval",
"table_type":"interval",
"valid_column":5,
"custom": {
"item_id":1,

View File

@@ -68,7 +68,7 @@ int set_file_rulenum(const char *path, int rule_num)
return 0;
}
void read_rule_from_redis(redisContext *c, long long desire_version, const char *output_path, struct log_handle *logger)
void read_rule_from_redis(redisContext *c, const char *output_path, struct log_handle *logger)
{
int i = 0;
int ret = 0;
@@ -83,13 +83,9 @@ void read_rule_from_redis(redisContext *c, long long desire_version, const char
FILE *index_fp = NULL;
struct serial_rule *rule_list = NULL;
int rule_num = maat_get_rm_key_list(c, 0, desire_version, &version, NULL, &rule_list, &update_type, 0, logger);
int rule_num = maat_get_rm_key_list(c, 0, &version, NULL, &rule_list, &update_type, 0, logger);
if (0 == rule_num) {
if (desire_version != 0) {
printf("Read desired version %lld failed.\n", desire_version);
} else {
printf("No Effective Rules.\n");
}
printf("No Effective Rules.\n");
return;
}
@@ -396,12 +392,12 @@ int main(int argc, char * argv[])
char upload_file[128] = {0};
char log_path[128] = "./maat_redis_tool.log";
int timeout = 0;
long long desired_version = 0;
strncpy(redis_ip, "127.0.0.1", sizeof(redis_ip));
strncpy(dump_dir, redis_dump_dir, sizeof(dump_dir));
struct log_handle *logger = log_handle_create(log_path, 0);
while ((oc = getopt(argc,argv,"h:p:n:d:v:f:j:t:u:")) != -1) {
while ((oc = getopt(argc,argv,"h:p:n:d:f:j:t:u:")) != -1) {
switch (oc) {
case 'h':
strncpy(redis_ip, optarg, sizeof(redis_ip));
@@ -419,9 +415,6 @@ int main(int argc, char * argv[])
dump_dir[strlen(dump_dir)-1] = '\0';
}
break;
case 'v':
sscanf(optarg, "%lld", &desired_version);
break;
case 'j':
strncpy(json_file, optarg, sizeof(json_file));
mode = WORK_MODE_JSON;
@@ -450,7 +443,7 @@ int main(int argc, char * argv[])
if (mode == WORK_MODE_DUMP) {
log_info(logger, MODULE_REDIS_TOOL, "Reading key list from %s:%d db%d.",
redis_ip, redis_port, redis_db);
read_rule_from_redis(c, desired_version, dump_dir, logger);
read_rule_from_redis(c, dump_dir, logger);
} else if(mode == WORK_MODE_JSON) {
char *json_buff = NULL;
size_t json_buff_sz = 0;