优化maat_redis_tool在dump内容外键时的printf输出。
This commit is contained in:
@@ -1563,7 +1563,7 @@ struct foreign_conts_track
|
||||
int rule_idx;
|
||||
int foreign_idx;
|
||||
};
|
||||
void _get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, void *logger)
|
||||
void _get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, int print_fn, void *logger)
|
||||
{
|
||||
int i=0, j=0, ret=0;
|
||||
int key_num=0;
|
||||
@@ -1620,6 +1620,10 @@ void _get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int
|
||||
fwrite(reply->str, 1, reply->len, fp);
|
||||
fclose(fp);
|
||||
fp=NULL;
|
||||
if(print_fn==1)
|
||||
{
|
||||
printf("Written foreign content %s\n",p->f_keys[track[i].foreign_idx].filename);
|
||||
}
|
||||
}
|
||||
}
|
||||
freeReplyObject(reply);
|
||||
@@ -1627,14 +1631,14 @@ void _get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int
|
||||
free(track);
|
||||
return;
|
||||
}
|
||||
void get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, void *logger)
|
||||
void get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, int print_fn, void *logger)
|
||||
{
|
||||
int max_redis_batch=4*1024,batch_cnt=0;
|
||||
int success_cnt=0;
|
||||
while(success_cnt<rule_num)
|
||||
{
|
||||
batch_cnt=MIN(rule_num-success_cnt,max_redis_batch);
|
||||
_get_foreign_conts(ctx,rule_list+success_cnt,batch_cnt,logger);
|
||||
_get_foreign_conts(ctx,rule_list+success_cnt,batch_cnt,print_fn,logger);
|
||||
success_cnt+=batch_cnt;
|
||||
}
|
||||
return;
|
||||
@@ -1702,7 +1706,7 @@ void redis_monitor_traverse(long long version,redisContext *c,
|
||||
}
|
||||
ret=get_foreign_keys_define(c, rule_list, rule_num, feather, feather->foreign_cont_dir, logger);
|
||||
if(ret>0)
|
||||
{
|
||||
{
|
||||
get_foreign_conts(c, rule_list, rule_num, 0, logger);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3009,6 +3009,13 @@ void garbage_bury(MESA_lqueue_head garbage_q,int timeout,void *logger)
|
||||
"Foreign content file %s remove failed.",
|
||||
bag->filename);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
MESA_handle_runtime_log(logger,RLOG_LV_DEBUG,maat_module,
|
||||
"Foreign content file %s remove success.",
|
||||
bag->filename);
|
||||
}
|
||||
free(bag->filename);
|
||||
bag->filename=NULL;
|
||||
break;
|
||||
|
||||
@@ -501,7 +501,7 @@ redisReply *_wrap_redisCommand(redisContext *c, const char *format, ...);
|
||||
int get_rm_key_list(redisContext *c, long long instance_version, long long desired_version, long long* new_version, struct serial_rule_t** list,int *update_type, void* logger, int cumulative_off);
|
||||
int get_maat_redis_value(redisContext *c,struct serial_rule_t* rule_list,int rule_num,void* logger,int print_process);
|
||||
int get_foreign_keys_by_prefix(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, const char* dir,void *logger);
|
||||
void get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, void *logger);
|
||||
void get_foreign_conts(redisContext *ctx, struct serial_rule_t* rule_list, int rule_num, int print_fn, void *logger);
|
||||
void rewrite_table_line_with_foreign(struct serial_rule_t*p);
|
||||
|
||||
|
||||
|
||||
@@ -91,6 +91,10 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch
|
||||
|
||||
assert(update_type==CM_UPDATE_TYPE_FULL);
|
||||
printf("MAAT Version: %lld, key number: %d\n", version, rule_num);
|
||||
if(rule_num==0)
|
||||
{
|
||||
goto clean_up;
|
||||
}
|
||||
printf("Reading value: ");
|
||||
ret=get_maat_redis_value(ctx,rule_list,rule_num,logger,1);
|
||||
if(ret<0)
|
||||
@@ -117,8 +121,8 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch
|
||||
ret=get_foreign_keys_by_prefix(ctx, rule_list, rule_num, foreign_files_dir, logger);
|
||||
if(ret>0)
|
||||
{
|
||||
printf("Getting %d foreign content.\n", ret);
|
||||
get_foreign_conts(ctx, rule_list, rule_num, logger);
|
||||
printf("%d lines has foreign content.\n", ret);
|
||||
get_foreign_conts(ctx, rule_list, rule_num, 1, logger);
|
||||
}
|
||||
snprintf(index_path,sizeof(index_path),"%s/full_config_index.%020lld",output_path,version);
|
||||
index_fp=fopen(index_path,"w");
|
||||
@@ -143,6 +147,7 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch
|
||||
table_fp=NULL;
|
||||
set_file_rulenum(table_path,line_count, logger);
|
||||
line_count=0;
|
||||
printf("Written table %s\n",table_path);
|
||||
}
|
||||
snprintf(table_path,sizeof(table_path),"%s/%s.%020lld",output_path,rule_list[i].table_name,version);
|
||||
set_file_rulenum(table_path, 0, logger);
|
||||
@@ -152,7 +157,7 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch
|
||||
printf("Open %s failed.\n",table_path);
|
||||
goto clean_up;
|
||||
}
|
||||
printf("Writing %s\n",table_path);
|
||||
|
||||
cur_table=rule_list[i].table_name;
|
||||
}
|
||||
fprintf(table_fp,"%s\tkey=%d\n",rule_list[i].table_line,rule_list[i].rule_id);
|
||||
@@ -163,7 +168,7 @@ void read_rule_from_redis(redisContext * ctx, long long desire_version, const ch
|
||||
fprintf(index_fp,"%s\t%d\t%s\n",cur_table,line_count,table_path);
|
||||
set_file_rulenum(table_path,line_count, logger);
|
||||
|
||||
printf("Writing complete: %s\n",index_path);
|
||||
printf("Written complete: %s\n",index_path);
|
||||
clean_up:
|
||||
for(i=0;i<rule_num;i++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user