支持https;适应版本跳跃;增加md5校验;
This commit is contained in:
@@ -22,7 +22,7 @@ struct scanner_timer_priv
|
||||
struct event timer_scanner;
|
||||
};
|
||||
|
||||
extern struct nirvana_global_info g_doris_server_info;
|
||||
extern struct doris_global_info g_doris_server_info;
|
||||
|
||||
|
||||
void doris_worker_statistic_timer_cb(int fd, short kind, void *userp)
|
||||
@@ -90,6 +90,7 @@ void config_version_node_cleanup(struct confile_save *save, struct version_list_
|
||||
free(vernode->metacont);
|
||||
cJSON_Delete(vernode->metajson);
|
||||
cJSON_Delete(vernode->arrayjson);
|
||||
cJSON_Delete(vernode->table_meta);
|
||||
free(vernode);
|
||||
}
|
||||
|
||||
@@ -313,13 +314,11 @@ void doris_config_mem_version_error(struct doris_instance *instance, void *userd
|
||||
void doris_config_mem_cfgfile_start(struct doris_instance *instance, const char *tablename, size_t size, u_int32_t cfgnum, void *userdata)
|
||||
{
|
||||
struct confile_save *save=(struct confile_save *)userdata;
|
||||
cJSON *table_meta;
|
||||
|
||||
table_meta = cJSON_CreateObject();
|
||||
cJSON_AddStringToObject(table_meta, "tablename", tablename);
|
||||
cJSON_AddNumberToObject(table_meta, "cfg_num", cfgnum);
|
||||
cJSON_AddNumberToObject(table_meta, "size", size);
|
||||
cJSON_AddItemToArray(save->cur_vernode->arrayjson, table_meta);
|
||||
save->cur_vernode->table_meta = cJSON_CreateObject();
|
||||
cJSON_AddStringToObject(save->cur_vernode->table_meta, "tablename", tablename);
|
||||
cJSON_AddNumberToObject(save->cur_vernode->table_meta, "cfg_num", cfgnum);
|
||||
cJSON_AddNumberToObject(save->cur_vernode->table_meta, "size", size);
|
||||
|
||||
save->cur_table = (struct table_list_node *)calloc(1, sizeof(struct table_list_node));
|
||||
snprintf(save->cur_table->tablename, 64, "%s", tablename);
|
||||
@@ -374,10 +373,14 @@ void doris_config_mem_cfgfile_update(struct doris_instance *instance, const char
|
||||
assert(save->cur_table->cur_totallen <= save->cur_table->filesize);
|
||||
}
|
||||
|
||||
void doris_config_mem_cfgfile_finish(struct doris_instance *instance, void *userdata)
|
||||
void doris_config_mem_cfgfile_finish(struct doris_instance *instance, const char *md5, void *userdata)
|
||||
{
|
||||
struct confile_save *save=(struct confile_save *)userdata;
|
||||
|
||||
cJSON_AddStringToObject(save->cur_vernode->table_meta, "md5", md5);
|
||||
cJSON_AddItemToArray(save->cur_vernode->arrayjson, save->cur_vernode->table_meta);
|
||||
save->cur_vernode->table_meta = NULL;
|
||||
|
||||
if(save->cur_frag != NULL)
|
||||
{
|
||||
TAILQ_INSERT_TAIL(&save->cur_table->frag_head, save->cur_frag, frag_node);
|
||||
@@ -421,12 +424,16 @@ void doris_config_common_version_finish(struct confile_save *save)
|
||||
MESA_Monitor_operation(g_doris_server_info.monitor, g_doris_server_info.mm_latest_ver, MONITOR_VALUE_SET, save->version);
|
||||
MESA_Monitor_operation(g_doris_server_info.monitor, g_doris_server_info.mm_total_cfgnum, MONITOR_VALUE_SET,
|
||||
save->statistic.statistic.status[DRS_FSSTAT_CONFIG_TOTAL_NUM]);
|
||||
MESA_Monitor_set_status_code(g_doris_server_info.monitor, MONITOR_STATUS_OP_CLEAR, MONITOR_STATUS_VERSION_ERR, NULL, NULL);
|
||||
MESA_RUNTIME_LOGV3(g_doris_server_info.log_runtime, RLOG_LV_INFO, "Version %lu update finished", save->version);
|
||||
|
||||
}
|
||||
|
||||
void doris_config_common_version_error(struct confile_save *save)
|
||||
{
|
||||
save->statistic.statistic.field[DRS_FSSTAT_RECV_ERR_VER] += 1;
|
||||
//Grafana+Promethues<65><73>չʾ<D5B9>ڲ<EFBFBD><DAB2>쳣״̬
|
||||
MESA_Monitor_set_status_code(g_doris_server_info.monitor, MONITOR_STATUS_OP_SET, MONITOR_STATUS_VERSION_ERR,
|
||||
"Version receive error", "Receive config file error, please check producer");
|
||||
}
|
||||
|
||||
@@ -485,12 +492,12 @@ void doris_config_localmem_cfgfile_update(struct doris_instance *instance, const
|
||||
doris_config_mem_cfgfile_update(instance, data, len, userdata);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void doris_config_localmem_cfgfile_finish(struct doris_instance *instance, const char *md5, void *userdata)
|
||||
{
|
||||
doris_config_common_cfgfile_finish((struct confile_save *)userdata);
|
||||
if(g_doris_server_info.server_role_sw)
|
||||
{
|
||||
{
|
||||
doris_config_mem_cfgfile_finish(instance, md5, userdata);
|
||||
}
|
||||
}
|
||||
@@ -559,7 +566,7 @@ void doris_config_cfgfile_update(struct doris_instance *instance, const char *da
|
||||
doris_config_mem_cfgfile_update(instance, data, len, userdata);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void doris_config_cfgfile_finish(struct doris_instance *instance, const char *md5, void *userdata)
|
||||
{
|
||||
doris_config_common_cfgfile_finish((struct confile_save *)userdata);
|
||||
@@ -568,7 +575,7 @@ void doris_config_cfgfile_finish(struct doris_instance *instance, void *userdata
|
||||
doris_config_file_cfgfile_finish(instance, userdata);
|
||||
}
|
||||
if(g_doris_server_info.server_role_sw)
|
||||
{
|
||||
{
|
||||
doris_config_mem_cfgfile_finish(instance, md5, userdata);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user