[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_name": "IP_CONFIG", //域表表名和类型,应与配置表
//描述文件一致 //描述文件一致
"table_type": "ip",//类型包括 ip, string, intval 三种 "table_type": "ip",//类型包括 ip, string, interval 三种
"table_content": {//以下是ip类配置表的格式 "table_content": {//以下是ip类配置表的格式
"addr_type": "ipv4",//地址类型可选ipv4和ipv6 "addr_type": "ipv4",//地址类型可选ipv4和ipv6
"src_ip": "10.0.6.201", "src_ip": "10.0.6.201",
@@ -306,7 +306,7 @@ Maat实例的工作线程定时轮询Redis中MAAT_VERSION如果大于实例
"regions": [ "regions": [
{ {
"table_name": "CONTENT_SIZE", "table_name": "CONTENT_SIZE",
"table_type": "intval", "table_type": "interval",
"table_content": { "table_content": {
"low_boundary": 100, //上下界的约定参照数值类域配 "low_boundary": 100, //上下界的约定参照数值类域配
"up_boundary": 500 //置表定义 "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 item table](#11-expr-item-table)
- [expr_plus item table](#12-expr_plus-item-table) - [expr_plus item table](#12-expr_plus-item-table)
- [ip_plus item table](#13-ip_plus-item-table) - [ip_plus item table](#13-ip_plus-item-table)
- [intval item table](#14-numeric-range-item-table) - [interval item table](#14-numeric-range-item-table)
- [intval_plus item table](#14-numeric-range-item-table) - [interval_plus item table](#14-numeric-range-item-table)
- [flag item table](#15-flag-item-table) - [flag item table](#15-flag-item-table)
- [flag_plus item table](#16-flag_plus-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 */ /* 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 * @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); void maat_rewrite_table_line_with_foreign(struct serial_rule *s_rule);
int maat_get_rm_key_list(redisContext *c, long long instance_version, int maat_get_rm_key_list(redisContext *c, long long instance_version,
long long desired_version, long long *new_version, long long *new_version, struct table_manager *tbl_mgr,
struct table_manager *tbl_mgr, struct serial_rule **list, struct serial_rule **list, int *update_type,
int *update_type, int cumulative_off, struct log_handle *logger); int cumulative_off, struct log_handle *logger);
void redis_monitor_traverse(long long version, struct source_redis_ctx *mr_ctx, void redis_monitor_traverse(long long version, struct source_redis_ctx *mr_ctx,
void (*start_fn)(long long, int, void *), void (*start_fn)(long long, int, void *),

View File

@@ -173,7 +173,6 @@ struct maat {
long long maat_version; long long maat_version;
long long last_full_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 */ /* internal state */
long long new_version; 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, "string", TABLE_TYPE_EXPR);
maat_kv_register(iris_cfg->str2int_map, "expr", 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, "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, "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, "interval_plus", TABLE_TYPE_INTERVAL_PLUS);
maat_kv_register(iris_cfg->str2int_map, "ipv4", 4); 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); 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 iris_table *table, struct log_handle *logger)
{ {
struct translate_command json_cmd[MAX_COLUMN_NUM]; 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; break;
case TABLE_TYPE_INTERVAL: case TABLE_TYPE_INTERVAL:
case TABLE_TYPE_INTERVAL_PLUS: 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; break;
default: default:
assert(0); assert(0);

View File

@@ -109,7 +109,7 @@ void *interval_schema_new(cJSON *json, struct table_manager *tbl_mgr,
} }
/* interval_plus has district */ /* interval_plus has district */
if (strcmp(table_type, "intval_plus") == 0) { if (strcmp(table_type, "interval_plus") == 0) {
custom_item = cJSON_GetObjectItem(item, "district"); custom_item = cJSON_GetObjectItem(item, "district");
if (custom_item != NULL && custom_item->type == cJSON_Number) { if (custom_item != NULL && custom_item->type == cJSON_Number) {
schema->district_column = custom_item->valueint; 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; ip_rt->ipv6_rule_num = 0;
struct ip_rule *rules = NULL; struct ip_rule *rules = NULL;
struct interval_rule *intval_rules = NULL; struct interval_rule *interval_rules = NULL;
void **ex_data_array = NULL; void **ex_data_array = NULL;
size_t rule_cnt = rcu_updating_hash_list(ip_rt->item_hash, &ex_data_array); size_t rule_cnt = rcu_updating_hash_list(ip_rt->item_hash, &ex_data_array);
if (rule_cnt > 0) { if (rule_cnt > 0) {
rules = ALLOC(struct ip_rule, rule_cnt); 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++) { for (size_t i = 0; i < rule_cnt; i++) {
struct ip_item *item = (struct ip_item *)ex_data_array[i]; struct ip_item *item = (struct ip_item *)ex_data_array[i];
if (item->addr_type == IPv6) { 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_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); FREE(rules);
} }
if (intval_rules != NULL) { if (interval_rules != NULL) {
FREE(intval_rules); FREE(interval_rules);
} }
if (ex_data_array != NULL) { 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, int maat_get_rm_key_list(redisContext *c, long long instance_version,
long long desired_version, long long *new_version, long long *new_version, struct table_manager *tbl_mgr,
struct table_manager *tbl_mgr, struct serial_rule **list, struct serial_rule **list, int *update_type,
int *update_type, int cumulative_off, struct log_handle *logger) int cumulative_off, struct log_handle *logger)
{ {
int rule_num = 0; int rule_num = 0;
long long target_version = 0; long long target_version = 0;
@@ -635,7 +520,7 @@ int maat_get_rm_key_list(redisContext *c, long long instance_version,
return 0; return 0;
} }
if (0 == instance_version || desired_version != 0) { if (0 == instance_version) {
goto FULL_UPDATE; goto FULL_UPDATE;
} }
@@ -668,9 +553,8 @@ int maat_get_rm_key_list(redisContext *c, long long instance_version,
if (0 == rule_num) { if (0 == rule_num) {
log_info(logger, MODULE_REDIS_MONITOR, log_info(logger, MODULE_REDIS_MONITOR,
"Got nothing after ZRANGEBYSCORE %s (%lld %lld, cumulative %s", "Got nothing after ZRANGEBYSCORE %s (%lld %lld",
mr_status_sset, instance_version, target_version-1, mr_status_sset, instance_version, target_version - 1);
cumulative_off == 1 ? "OFF" : "ON");
return 0; return 0;
} }
@@ -686,7 +570,7 @@ int maat_get_rm_key_list(redisContext *c, long long instance_version,
FULL_UPDATE: FULL_UPDATE:
log_info(logger, MODULE_REDIS_MONITOR, log_info(logger, MODULE_REDIS_MONITOR,
"Initiate full update from instance_version %lld to %lld", "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; size_t append_cmd_cnt = 0;
int ret = redisAppendCommand(c, "MULTI"); int ret = redisAppendCommand(c, "MULTI");
append_cmd_cnt++; append_cmd_cnt++;
@@ -770,35 +654,6 @@ FULL_UPDATE:
freeReplyObject(reply); freeReplyObject(reply);
reply = NULL; 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; *list = s_rule_array;
*update_type = MAAT_UPDATE_TYPE_FULL; *update_type = MAAT_UPDATE_TYPE_FULL;
log_info(logger, MODULE_REDIS_MONITOR, 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 update_type = MAAT_UPDATE_TYPE_INC;
int rule_num = maat_get_rm_key_list(mr_ctx->read_ctx, version, int rule_num = maat_get_rm_key_list(mr_ctx->read_ctx, version,
maat_inst->load_specific_version,
&new_version, maat_inst->tbl_mgr, &new_version, maat_inst->tbl_mgr,
&rule_list, &update_type, &rule_list, &update_type,
maat_inst->opts.cumulative_update_off, maat_inst->opts.cumulative_update_off,
maat_inst->logger); maat_inst->logger);
//redis communication error //redis communication error
if (rule_num < 0) { if (rule_num < 0) {
@@ -1503,7 +1357,6 @@ void redis_monitor_traverse(long long version, struct source_redis_ctx *mr_ctx,
return; return;
} }
maat_inst->load_specific_version = 0;//only valid for one time.
//error or nothing changed //error or nothing changed
if (0 == rule_num && update_type == MAAT_UPDATE_TYPE_INC) { if (0 == rule_num && update_type == MAAT_UPDATE_TYPE_INC) {
return; 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, "flag_plus", TABLE_TYPE_FLAG_PLUS);
maat_kv_register(reserved_word_map, "expr", TABLE_TYPE_EXPR); 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, "expr_plus", TABLE_TYPE_EXPR_PLUS);
maat_kv_register(reserved_word_map, "intval", TABLE_TYPE_INTERVAL); maat_kv_register(reserved_word_map, "interval", TABLE_TYPE_INTERVAL);
maat_kv_register(reserved_word_map, "intval_plus", TABLE_TYPE_INTERVAL_PLUS); 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, "ip_plus", TABLE_TYPE_IP_PLUS);
maat_kv_register(reserved_word_map, "plugin", TABLE_TYPE_PLUGIN); maat_kv_register(reserved_word_map, "plugin", TABLE_TYPE_PLUGIN);
maat_kv_register(reserved_word_map, "ip_plugin", TABLE_TYPE_IP_PLUGIN); maat_kv_register(reserved_word_map, "ip_plugin", TABLE_TYPE_IP_PLUGIN);

View File

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

View File

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

View File

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

View File

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