From eb672ee77e28cb78a17d3901890a03a534532cef Mon Sep 17 00:00:00 2001 From: zhengchao Date: Wed, 5 Jul 2017 09:36:29 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AF=B9=E4=BA=8EAppend=E5=91=BD=E4=BB=A4?= =?UTF-8?q?=EF=BC=8CredisGetReply=E9=9C=80=E8=A6=81=E5=A4=9A=E6=AC=A1?= =?UTF-8?q?=E8=B0=83=E7=94=A8=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/entry/Maat_command.cpp | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/src/entry/Maat_command.cpp b/src/entry/Maat_command.cpp index 0426759..0ba2653 100644 --- a/src/entry/Maat_command.cpp +++ b/src/entry/Maat_command.cpp @@ -791,7 +791,7 @@ int Maat_commit_command(Maat_feather_t feather) { _Maat_feather_t* _feather=(_Maat_feather_t*)feather; - int ret=0,i=0,retry=0; + int ret=0,i=0,retry=0,append_cmd_cnt=0; long long maat_redis_version=0; int new_region_num=0,new_group_num=0; int serial_rule_num=0,serial_rule_idx=0; @@ -859,11 +859,12 @@ int Maat_commit_command(Maat_feather_t feather) ,s_rule[i].table_name ,s_rule[i].rule_id ,s_rule[i].table_line); - + append_cmd_cnt++; //NX: Don't update already exisiting elements. Always add new elements. redisAppendCommand(ctx,"ZADD NX ADD,%s,%d %d",s_rule[i].table_name ,s_rule[i].rule_id ,maat_redis_version); + append_cmd_cnt++; } else { @@ -876,32 +877,38 @@ int Maat_commit_command(Maat_feather_t feather) ,s_rule[i].table_name ,s_rule[i].rule_id ); - + append_cmd_cnt++; redisAppendCommand(ctx,"EXPIRE %s:%s,%d %d",rm_key_prefix[MAAT_OP_DEL] ,s_rule[i].table_name ,s_rule[i].rule_id ,MAAT_REDIS_SYNC_TIME); - + append_cmd_cnt++; //NX: Don't update already exisiting elements. Always add new elements. redisAppendCommand(ctx,"ZADD NX DEL,%s,%d %d",s_rule[i].table_name ,s_rule[i].rule_id ,maat_redis_version); + append_cmd_cnt++; } } redisAppendCommand(ctx,"INCRBY MAAT_VERSION 1"); + append_cmd_cnt++; redisAppendCommand(ctx,"EXEC"); - _wrap_redisGetReply(ctx, &data_reply); - if(1==mr_transaction_success(data_reply)) + append_cmd_cnt++; + for(i=0;icmd_acc_num+=_feather->cmd_q_cnt; error_out: