summaryrefslogtreecommitdiff
path: root/client
diff options
context:
space:
mode:
Diffstat (limited to 'client')
-rw-r--r--client/doris_client_fetch.cpp32
-rw-r--r--client/doris_client_fetch.h6
2 files changed, 19 insertions, 19 deletions
diff --git a/client/doris_client_fetch.cpp b/client/doris_client_fetch.cpp
index 28318c6..85f6857 100644
--- a/client/doris_client_fetch.cpp
+++ b/client/doris_client_fetch.cpp
@@ -137,8 +137,8 @@ void doris_http_confile_header_cb(const char *start, size_t bytes, CURLcode code
instance->retry_times = 0;
if(instance->curmeta.curoffset == 0)
{
- instance->param->cbs.cfgfile_start(instance, instance->curmeta.table_name,
- instance->curmeta.size, instance->curmeta.cfg_num, instance->param->cbs.userdata);
+ instance->cbs.cfgfile_start(instance, instance->curmeta.table_name,
+ instance->curmeta.size, instance->curmeta.cfg_num, instance->cbs.userdata);
MD5_Init(&instance->ctx.md5ctx);
}
}
@@ -180,7 +180,7 @@ void doris_http_confile_body_cb(const char *ptr, size_t bytes, CURLcode code, lo
return;
}
- instance->param->cbs.cfgfile_update(instance, ptr, bytes, instance->param->cbs.userdata);
+ instance->cbs.cfgfile_update(instance, ptr, bytes, instance->cbs.userdata);
MD5_Update(&instance->ctx.md5ctx, ptr, bytes);
instance->curmeta.curoffset += bytes;
instance->statistic.field[DRS_FS_FILED_RES_BYTES] += bytes;
@@ -228,14 +228,14 @@ void doris_http_confile_done_cb(CURLcode res, long res_code, const char *err, vo
}
else
{
- MESA_HANDLE_RUNTIME_LOGV2(instance->runtime_log, RLOG_LV_INFO, "Fetch confile %s.010%lu over, md5: %s",
+ MESA_HANDLE_RUNTIME_LOGV2(instance->runtime_log, RLOG_LV_INFO, "Fetch confile %s.%010lu over, md5: %s",
instance->curmeta.table_name, instance->req_version, md5buffer);
}
instance->statistic.field[DRS_FS_FILED_RES_FILES] += 1;
- instance->param->cbs.cfgfile_finish(instance, md5buffer, instance->param->cbs.userdata);
+ instance->cbs.cfgfile_finish(instance, md5buffer, instance->cbs.userdata);
if(instance->array_index == instance->array_size)
{
- instance->param->cbs.version_finish(instance, instance->param->cbs.userdata);
+ instance->cbs.version_finish(instance, instance->cbs.userdata);
instance->status = FETCH_STATUS_META;
doris_update_new_version(instance);
cJSON_Delete(instance->meta);
@@ -268,7 +268,7 @@ out_md5:
if(instance->retry_times >= instance->param->fetch_max_tries || direct_fail)
{
instance->statistic.field[DRS_FS_FILED_RES_VERERR] += 1;
- instance->param->cbs.version_error(instance, instance->param->cbs.userdata);
+ instance->cbs.version_error(instance, instance->cbs.userdata);
instance->retry_times = 0;
instance->status = FETCH_STATUS_META;
cJSON_Delete(instance->meta);
@@ -296,7 +296,7 @@ void doris_http_fetch_confile(struct doris_instance *instance)
doris_http_ctx_add_header(instance->ctx.httpctx, range);
}
- snprintf(metauri, 128, "configfile?tablename=%s&version=%lu&businessid=%u", instance->curmeta.table_name, instance->req_version, instance->param->args.businessid);
+ snprintf(metauri, 128, "configfile?tablename=%s&version=%lu&business=%s", instance->curmeta.table_name, instance->req_version, instance->args.bizname);
if(doris_http_launch_get_request(instance->ctx.httpctx, metauri))
{
instance->statistic.field[DRS_FS_FILED_REQ_FAIL] += 1;
@@ -371,7 +371,7 @@ void doris_http_meta_done_cb(CURLcode res, long res_code, const char *err, void
MESA_HANDLE_RUNTIME_LOGV2(instance->runtime_log, RLOG_LV_INFO, "NEW_META found, cur_version=%lu, newjson: %s",
instance->cur_version, instance->estr.buff);
- instance->param->cbs.version_start(instance, instance->meta, instance->param->cbs.userdata);
+ instance->cbs.version_start(instance, instance->meta, instance->cbs.userdata);
instance->array = cJSON_GetObjectItem(instance->meta, "configs");
instance->array_size = cJSON_GetArraySize(instance->array);
assert(instance->array_size > 0);
@@ -420,7 +420,7 @@ static void doris_http_fetch_meta(struct doris_instance *instance)
instance->req_version = instance->cur_version + 1; //ֻ�а汾���³ɹ���cur_version�Ż����
if(instance->ctx.httpctx != NULL)
{
- snprintf(metauri, 128, "configmeta?version=%lu&businessid=%u", instance->req_version, instance->param->args.businessid);
+ snprintf(metauri, 128, "configmeta?version=%lu&business=%s", instance->req_version, instance->args.bizname);
if(!doris_http_launch_get_request(instance->ctx.httpctx, metauri))
{
instance->status = FETCH_STATUS_META;
@@ -530,15 +530,12 @@ static int doris_client_register_field_stat(struct doris_parameter *param, void
return 0;
}
-struct doris_parameter *doris_parameter_new(const char *confile, struct event_base *manage_evbase, struct doris_callbacks *cbs,
- struct doris_arguments *args, void *runtimelog)
+struct doris_parameter *doris_parameter_new(const char *confile, struct event_base *manage_evbase, void *runtimelog)
{
struct doris_parameter *param;
param = (struct doris_parameter *)calloc(1, sizeof(struct doris_parameter));
param->manage_evbase = manage_evbase;
- param->cbs = *cbs;
- param->args= *args;
MESA_load_profile_uint_def(confile, "DORIS_CLIENT", "fetch_fail_retry_interval", &param->retry_interval, 10);
MESA_load_profile_uint_def(confile, "DORIS_CLIENT", "fetch_fragmet_size", &param->fetch_frag_size, 5242880);
@@ -599,7 +596,8 @@ static void doris_instance_statistic_timer_cb(int fd, short kind, void *userp)
event_add(&instance->timer_statistic, &tv);
}
-struct doris_instance *doris_instance_new(struct doris_parameter *param, struct event_base *worker_evbase, void *runtimelog)
+struct doris_instance *doris_instance_new(struct doris_parameter *param, struct event_base *worker_evbase,
+ struct doris_callbacks *cbs, struct doris_arguments *args, void *runtimelog)
{
struct doris_instance *instance;
struct timeval tv;
@@ -608,7 +606,9 @@ struct doris_instance *doris_instance_new(struct doris_parameter *param, struct
instance->param = param;
instance->worker_evbase = worker_evbase;
instance->runtime_log = runtimelog;
- instance->cur_version = param->args.current_version;
+ instance->cbs = *cbs;
+ instance->args= *args;
+ instance->cur_version = args->current_version;
instance->req_version = instance->cur_version + 1; //TODO
instance->httpins_master = doris_http_instance_new(param->param_master, worker_evbase, runtimelog);
diff --git a/client/doris_client_fetch.h b/client/doris_client_fetch.h
index 7125540..66afbdf 100644
--- a/client/doris_client_fetch.h
+++ b/client/doris_client_fetch.h
@@ -23,9 +23,6 @@ enum FETCH_CFG_STATUS
struct doris_parameter
{
- struct doris_callbacks cbs;
- struct doris_arguments args;
-
u_int32_t retry_interval;
u_int32_t fetch_frag_size;
u_int32_t fetch_max_tries;
@@ -82,6 +79,9 @@ struct doris_confile_ctx
struct doris_instance
{
+ struct doris_callbacks cbs;
+ struct doris_arguments args;
+
enum FETCH_CFG_STATUS status;
u_int32_t retry_times;