diff --git a/src/entry/Maat_command.cpp b/src/entry/Maat_command.cpp index 83be9cc..dcc190f 100644 --- a/src/entry/Maat_command.cpp +++ b/src/entry/Maat_command.cpp @@ -206,42 +206,6 @@ int invalidate_line(char* line, enum MAAT_TABLE_TYPE type,int valid_column_seq) line[i]='0'; return 0; } -int del_rule_from_redis(redisContext* ctx, struct serial_rule_t* s_rule, long long new_version) -{ - int append_cmd_cnt=0; - redisAppendCommand(ctx,"RENAME %s:%s,%d %s:%s,%d" - ,rm_key_prefix[MAAT_OP_ADD] - ,s_rule->table_name - ,s_rule->rule_id - ,rm_key_prefix[MAAT_OP_DEL] - ,s_rule->table_name - ,s_rule->rule_id - ); - append_cmd_cnt++; - redisAppendCommand(ctx,"EXPIRE %s:%s,%d %d",rm_key_prefix[MAAT_OP_DEL] - ,s_rule->table_name - ,s_rule->rule_id - ,MAAT_REDIS_SYNC_TIME); - append_cmd_cnt++; - //NX: Don't update already exisiting elements. Always add new elements. - redisAppendCommand(ctx,"ZADD %s NX %d DEL,%s,%d",rm_status_sset - ,new_version - ,s_rule->table_name - ,s_rule->rule_id); - append_cmd_cnt++; - - // Try to remove from expiration sorted set, no matter wheather it exists or not. - redisAppendCommand(ctx,"ZREM %s %s,%d",rm_expire_sset - ,s_rule->table_name - ,s_rule->rule_id); - append_cmd_cnt++; - - redisAppendCommand(ctx,"ZREM %s %d",rm_label_sset - ,s_rule->rule_id); - append_cmd_cnt++; - - return append_cmd_cnt; -} void serialize_region(const struct Maat_region_t* p,int group_id, char* buff,int size) { int ret=0; @@ -854,7 +818,7 @@ redisReply* _exec_serial_rule_end(redisContext* ctx,long long maat_redis_version } void _exec_serial_rule(redisContext* ctx, long long version, struct serial_rule_t* s_rule, int rule_num, int* multi_cmd_seq, unsigned int *cnt, int offset) { - int i=0,j=0,ret=0; + int i=0; redisReply* data_reply=NULL; int append_cmd_cnt=0; for(i=0;ielements;i++) { p=transaction_reply->element[i]; - if(0==mr_operation_success(p)) - { - j=multi_cmd_seq[i]; + j=multi_cmd_seq[i]; + if(j!=-1&&0==mr_operation_success(p)) + { assert(jlogger,RLOG_LV_INFO,maat_command ,"Command set line id %d success after retry %d times." - , line_rule[0]->rule_id + , line_rule[0]->rule_id, retry ); } error_out: diff --git a/src/entry/Maat_rule.cpp b/src/entry/Maat_rule.cpp index 52b3ce4..35bb606 100644 --- a/src/entry/Maat_rule.cpp +++ b/src/entry/Maat_rule.cpp @@ -30,7 +30,7 @@ #include "stream_fuzzy_hash.h" #include "gram_index_engine.h" -int MAAT_FRAME_VERSION_2_1_20180322=1; +int MAAT_FRAME_VERSION_2_1_20180424=1; const char* CHARSET_STRING[]={"NONE","gbk","big5","unicode","utf8","bin", "unicode_ascii_esc","unicode_ascii_aligned","unicode_ncr_dec","unicode_ncr_hex","url_encode_gb2312","url_encode_utf8",""}; diff --git a/tools/maat_redis_tool.cpp b/tools/maat_redis_tool.cpp index 797aa36..cff62d2 100644 --- a/tools/maat_redis_tool.cpp +++ b/tools/maat_redis_tool.cpp @@ -22,7 +22,7 @@ void maat_tool_print_usage(void) printf("\t-n [db], redis db, 0 as default.\n"); printf("\t-d [dir], dump rules from redis to [dir], %s as default.\n",redis_dump_dir); printf("\t-j [payload.json], add or delete rules as maat json. Must have field compile_table field, and plugin table's valid flag must be in the last column.\n"); - printf("\t-t [timeout], timeout config after t seconds, default 0, not timeout.\n"); + printf("\t-t [timeout], timeout config after t seconds, default is 0 which means never timeout.\n"); printf("example: ./maat_redis_tool -h 127.0.0.1 -p 6379 -d %s\n",redis_dump_dir); printf(" ./maat_redis_tool -h 127.0.0.1 -p 6379 -j payload.json -t 300\n"); return;