From a2fa705fa7d00fe3937b2097fa33a197293f407c Mon Sep 17 00:00:00 2001 From: zhangchengwei Date: Thu, 11 Oct 2018 16:35:13 +0800 Subject: [PATCH] =?UTF-8?q?=E3=80=901=E3=80=91=E4=BF=AE=E5=A4=8DHTTP=20Exp?= =?UTF-8?q?ect=E5=A4=B4=E9=83=A8=E7=BC=BA=E5=A4=B1=E6=97=B6POST=E5=8D=A1?= =?UTF-8?q?=E9=A1=BF=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=9B=20=E3=80=902?= =?UTF-8?q?=E3=80=91TODO=EF=BC=9A=E5=B0=9D=E8=AF=95=E5=A2=9E=E5=8A=A0multi?= =?UTF-8?q?ple=20delete=20objects=20API=EF=BC=8C=E5=B0=9A=E6=9C=AA?= =?UTF-8?q?=E6=88=90=E5=8A=9F=EF=BC=88AccessDenied=EF=BC=89=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- cache/pangu_tango_cache.a | Bin 239654 -> 251776 bytes cache/tango_cache_client.cpp | 91 +++++++++++++++++++++---- cache/tango_cache_client_in.h | 10 +++ cache/tango_cache_transfer.cpp | 79 +++++++++++++++++++--- cache/tango_cache_transfer.h | 3 + cache/tango_cache_xml.cpp | 102 ++++++++++++++++++++++++++++- cache/tango_cache_xml.h | 4 +- cache/test_demo/tango_cache_test.c | 41 ++++++++++++ 8 files changed, 308 insertions(+), 22 deletions(-) diff --git a/cache/pangu_tango_cache.a b/cache/pangu_tango_cache.a index 20e2fea4bc931b0901cc549425953b0fe6a5fa17..b39903ed4d7d17b16d9451221f8f1850edb2b7e3 100644 GIT binary patch literal 251776 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 literal 239654 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 BpjQ9@ diff --git a/cache/tango_cache_client.cpp b/cache/tango_cache_client.cpp index 2938552..7e24969 100644 --- a/cache/tango_cache_client.cpp +++ b/cache/tango_cache_client.cpp @@ -9,16 +9,34 @@ #include #include #include +#include #include #include "tango_cache_client_in.h" #include "tango_cache_transfer.h" #include "tango_cache_tools.h" +#include "tango_cache_xml.h" -int TANGO_CACHE_VERSION_20180925=0; +int TANGO_CACHE_VERSION_20181009=0; -static void caculate_sha256(const char *data, unsigned long len, char *result, u_int32_t size) +static int caculate_base64_md5(const char *data, unsigned long len, unsigned char *result, unsigned int size) +{ + MD5_CTX c; + unsigned char md5[17]={0}; + + if(size < 33) + return -1; + + MD5_Init(&c); + MD5_Update(&c, data, len); + MD5_Final(md5, &c); + + Base64_EncodeBlock(md5, 16, result); + return 0; +} + +void caculate_sha256(const char *data, unsigned long len, char *result, u_int32_t size) { SHA256_CTX c; unsigned char sha256[128]; @@ -101,12 +119,12 @@ void tango_cache_get_object_path(const struct tango_cache_ctx *ctx, char *path, snprintf(path, pathsize, "http://%s/%s/%s", ctx->hostaddr, ctx->instance->bucketname, ctx->object_key); } -static void update_statistics(enum CACHE_REQUEST_METHOD method, bool fail_state, enum CACHE_ERR_CODE error_code, struct cache_statistics *statistic) +static void update_statistics(struct tango_cache_ctx *ctx, struct cache_statistics *statistic) { - switch(method) + switch(ctx->method) { case CACHE_REQUEST_PUT: - if(fail_state) + if(ctx->fail_state) { statistic->put_error_num += 1; } @@ -116,9 +134,9 @@ static void update_statistics(enum CACHE_REQUEST_METHOD method, bool fail_state, } break; case CACHE_REQUEST_GET: - if(fail_state) + if(ctx->fail_state) { - if(error_code == CACHE_ERR_CURL) + if(ctx->error_code == CACHE_ERR_CURL) statistic->get_error_num += 1; else statistic->get_miss_num += 1; @@ -129,7 +147,7 @@ static void update_statistics(enum CACHE_REQUEST_METHOD method, bool fail_state, } break; case CACHE_REQUEST_DELETE: - if(fail_state) + if(ctx->fail_state) { statistic->del_error_num += 1; } @@ -138,6 +156,10 @@ static void update_statistics(enum CACHE_REQUEST_METHOD method, bool fail_state, statistic->del_succ_num += 1; } break; + case CACHE_REQUEST_DELETE_MUL: + statistic->del_succ_num += ctx->del.succ_num; + statistic->del_error_num += ctx->del.fail_num; + break; default:break; } } @@ -185,7 +207,6 @@ void tango_cache_ctx_destroy(struct tango_cache_ctx *ctx) case CACHE_REQUEST_PUT: if(ctx->put.uploadID != NULL) free(ctx->put.uploadID); if(ctx->put.combine_xml != NULL) free(ctx->put.combine_xml); - if(ctx->headers != NULL) curl_slist_free_all(ctx->headers); if(ctx->put.evbuf!=NULL) { ctx->instance->statistic.memory_used -= evbuffer_get_length(ctx->put.evbuf); @@ -197,6 +218,11 @@ void tango_cache_ctx_destroy(struct tango_cache_ctx *ctx) free(etag->etag); free(etag); }//no break here + case CACHE_REQUEST_DELETE_MUL: + if(ctx->headers != NULL) + { + curl_slist_free_all(ctx->headers); + }//no break here case CACHE_REQUEST_DELETE: if(ctx->future != NULL) { @@ -212,7 +238,7 @@ void tango_cache_ctx_destroy(struct tango_cache_ctx *ctx) break; default: break; } - update_statistics(ctx->method, ctx->fail_state, ctx->error_code, &ctx->instance->statistic); + update_statistics(ctx, &ctx->instance->statistic); free(ctx); } @@ -333,7 +359,7 @@ struct tango_cache_ctx *tango_cache_update_prepare(struct tango_cache_instance * { ctx->headers = curl_slist_append(ctx->headers, "Content-Type:"); } - //ctx->headers = curl_slist_append(ctx->headers, "Expect:"); //不可以添加?curl_multi_socket_action会卡住 + ctx->headers = curl_slist_append(ctx->headers, "Expect:");//注意POST方法与Expect关系,要明确给出CURLOPT_POSTFIELDSIZE //其他定义的头部,GET时会原样返回 if(meta->usertag_len>0 && meta->usertag_len<=USER_TAG_MAX_LEN) { @@ -484,6 +510,46 @@ int tango_cache_delete_object(struct tango_cache_instance *instance, struct futu return (cache_delete_minio_object(ctx)==1)?0:-1; } +struct tango_cache_ctx *tango_cache_multi_delete_prepare(struct tango_cache_instance *instance, struct future* future, char *objlist[], u_int32_t num) +{ + struct tango_cache_ctx *ctx; + char md5[48]={0}, content_md5[48]; + + ctx = (struct tango_cache_ctx *)calloc(1, sizeof(struct tango_cache_ctx)); + ctx->instance = instance; + ctx->future = future; + ctx->method = CACHE_REQUEST_DELETE_MUL; + ctx->del.succ_num = num; + + if(wired_load_balancer_lookup(instance->wiredlb, objlist[0], strlen(objlist[0]), ctx->hostaddr, 48)) + { + instance->error_code = CACHE_ERR_WIREDLB; + instance->statistic.totaldrop_num += num; + free(ctx); + return NULL; + } + + construct_multiple_delete_xml(ctx->instance->bucketname, objlist, num, instance->hash_object_key, &ctx->response.buff, &ctx->response.size); + caculate_base64_md5(ctx->response.buff, ctx->response.size, (unsigned char *)md5, 48); + sprintf(content_md5, "Content-MD5: %s", md5); + ctx->headers = curl_slist_append(ctx->headers, content_md5); + ctx->headers = curl_slist_append(ctx->headers, "Content-Type: application/xml"); + return ctx; +} + +//TODO: AccessDenied +int tango_cache_multi_delete(struct tango_cache_instance *instance, struct future* future, char *objlist[], u_int32_t num) +{ + struct tango_cache_ctx *ctx; + + ctx = tango_cache_multi_delete_prepare(instance, future, objlist, num); + if(ctx == NULL) + { + return -1; + } + return tango_cache_multi_delete_start(ctx); +} + static void check_multi_info(CURLM *multi) { CURLMsg *msg; @@ -520,6 +586,9 @@ static void check_multi_info(CURLM *multi) case CACHE_REQUEST_DELETE: tango_cache_curl_del_done(ctx, res, res_code); break; + case CACHE_REQUEST_DELETE_MUL: + tango_cache_curl_muldel_done(ctx, res, res_code); + break; default: break; } } diff --git a/cache/tango_cache_client_in.h b/cache/tango_cache_client_in.h index 3c2ab00..9e855bf 100644 --- a/cache/tango_cache_client_in.h +++ b/cache/tango_cache_client_in.h @@ -19,6 +19,7 @@ enum CACHE_REQUEST_METHOD CACHE_REQUEST_GET=0, CACHE_REQUEST_PUT, CACHE_REQUEST_DELETE, + CACHE_REQUEST_DELETE_MUL, }; enum GET_OBJECT_STATE @@ -98,6 +99,12 @@ struct cache_ctx_data_put bool close_state; //主动被调用关闭 }; +struct cache_ctx_multi_delete +{ + u_int32_t succ_num; + u_int32_t fail_num; +}; + struct tango_cache_ctx { CURL *curl; @@ -117,6 +124,7 @@ struct tango_cache_ctx union{ struct cache_ctx_data_put put; struct cache_ctx_data_get get; + struct cache_ctx_multi_delete del; }; struct tango_cache_instance *instance; }; @@ -126,6 +134,8 @@ struct curl_socket_data struct event sock_event; }; +void caculate_sha256(const char *data, unsigned long len, char *result, u_int32_t size); + void easy_string_savedata(struct easy_string *estr, const char *data, size_t len); void easy_string_destroy(struct easy_string *estr); diff --git a/cache/tango_cache_transfer.cpp b/cache/tango_cache_transfer.cpp index 8945abb..55b0cb6 100644 --- a/cache/tango_cache_transfer.cpp +++ b/cache/tango_cache_transfer.cpp @@ -141,7 +141,7 @@ static int http_put_bodypart_request_evbuf(struct tango_cache_ctx *ctx, bool ful return 1; } -static size_t curl_write_uploadID_cb(void *ptr, size_t size, size_t count, void *userp) +static size_t curl_response_body_save_cb(void *ptr, size_t size, size_t count, void *userp) { struct tango_cache_ctx *ctx = (struct tango_cache_ctx *)userp; struct easy_string *estr = &ctx->response; @@ -158,7 +158,6 @@ static size_t curl_write_uploadID_cb(void *ptr, size_t size, size_t count, void if(code != CURLE_OK || ctx->res_code!=200L) { tango_cache_set_fail_state(ctx, CACHE_ERR_CURL); - if(code != CURLE_OK) MESA_HANDLE_RUNTIME_LOGV2(ctx->instance->runtime_log, RLOG_LV_DEBUG, "%s", ctx->error); return size*count; } } @@ -180,11 +179,12 @@ int curl_get_minio_uploadID(struct tango_cache_ctx *ctx) snprintf(minio_url, 256, "http://%s/%s/%s?uploads", ctx->hostaddr, ctx->instance->bucketname, ctx->object_key); curl_easy_setopt(ctx->curl, CURLOPT_POST, 1L); + curl_easy_setopt(ctx->curl, CURLOPT_POSTFIELDSIZE, 0); //默认使用回调函数调用fread,测试发现关闭Expect时会导致卡在curl_multi_socket_action curl_easy_setopt(ctx->curl, CURLOPT_URL, minio_url); curl_easy_setopt(ctx->curl, CURLOPT_USERAGENT, "aws-sdk-cpp/1.5.24 Linux/3.10.0-327.el7.x86_64 x86_64 pangu_cache"); curl_easy_setopt(ctx->curl, CURLOPT_NOSIGNAL,1L); - curl_easy_setopt(ctx->curl, CURLOPT_WRITEFUNCTION, curl_write_uploadID_cb); + curl_easy_setopt(ctx->curl, CURLOPT_WRITEFUNCTION, curl_response_body_save_cb); curl_easy_setopt(ctx->curl, CURLOPT_WRITEDATA, ctx); curl_easy_setopt(ctx->curl, CURLOPT_ERRORBUFFER, ctx->error); curl_easy_setopt(ctx->curl, CURLOPT_PRIVATE, ctx); @@ -280,8 +280,8 @@ bool cache_kick_combine_minio(struct tango_cache_ctx *ctx) curl_easy_setopt(ctx->curl, CURLOPT_FOLLOWLOCATION, 1L); curl_easy_setopt(ctx->curl, CURLOPT_CONNECTTIMEOUT_MS, 500L); - curl_easy_setopt(ctx->curl, CURLOPT_POSTFIELDS, ctx->put.combine_xml); curl_easy_setopt(ctx->curl, CURLOPT_POSTFIELDSIZE, len); //填充Content-Length + curl_easy_setopt(ctx->curl, CURLOPT_POSTFIELDS, ctx->put.combine_xml); if(ctx->headers != NULL) { @@ -419,7 +419,6 @@ void tango_cache_curl_put_done(struct tango_cache_ctx *ctx, CURLcode res, long r { easy_string_destroy(&ctx->response); tango_cache_set_fail_state(ctx, CACHE_ERR_CURL); - if(res != CURLE_OK) MESA_HANDLE_RUNTIME_LOGV2(ctx->instance->runtime_log, RLOG_LV_DEBUG, "%s", ctx->error); if(ctx->put.close_state) { tango_cache_ctx_destroy(ctx); @@ -448,7 +447,6 @@ void tango_cache_curl_put_done(struct tango_cache_ctx *ctx, CURLcode res, long r if(res != CURLE_OK || res_code!=200L) { tango_cache_set_fail_state(ctx, CACHE_ERR_CURL); - if(res != CURLE_OK) MESA_HANDLE_RUNTIME_LOGV2(ctx->instance->runtime_log, RLOG_LV_DEBUG, "%s", ctx->error); } if(ctx->fail_state) { @@ -486,7 +484,6 @@ void tango_cache_curl_put_done(struct tango_cache_ctx *ctx, CURLcode res, long r if(res != CURLE_OK || res_code!=200L) { tango_cache_set_fail_state(ctx, CACHE_ERR_CURL); - if(res != CURLE_OK) MESA_HANDLE_RUNTIME_LOGV2(ctx->instance->runtime_log, RLOG_LV_DEBUG, "%s", ctx->error); } tango_cache_ctx_destroy(ctx); break; @@ -579,11 +576,77 @@ void tango_cache_curl_del_done(struct tango_cache_ctx *ctx, CURLcode res, long r { if(res!=CURLE_OK || (res_code!=204L && res_code!=200L )) { - ctx->fail_state = true; + tango_cache_set_fail_state(ctx, CACHE_ERR_CURL); } tango_cache_ctx_destroy(ctx); } +void tango_cache_curl_muldel_done(struct tango_cache_ctx *ctx, CURLcode res, long res_code) +{ + u_int32_t errnum=0; + + if(res!=CURLE_OK || (res_code!=204L && res_code!=200L )) + { + tango_cache_set_fail_state(ctx, CACHE_ERR_CURL); + ctx->del.fail_num = ctx->del.succ_num; + ctx->del.succ_num = 0; + } + else + { + if(!parse_multidelete_xml(ctx->response.buff, ctx->response.len, &errnum, ctx->error, CURL_ERROR_SIZE)) + { + ctx->del.fail_num = ctx->del.succ_num; + ctx->del.succ_num = 0; + } + else + { + ctx->del.fail_num = errnum; + ctx->del.succ_num -= errnum; + } + if(ctx->del.fail_num > 0) + { + tango_cache_set_fail_state(ctx, CACHE_ERR_CURL); + } + } + tango_cache_ctx_destroy(ctx); +} + +int tango_cache_multi_delete_start(struct tango_cache_ctx *ctx) +{ + CURLMcode rc; + char minio_url[256]; + + ctx->instance->statistic.del_recv_num += ctx->del.succ_num; + ctx->instance->error_code = CACHE_OK; + if(NULL == (ctx->curl=curl_easy_init())) + { + tango_cache_ctx_destroy(ctx); + return -1; + } + + snprintf(minio_url, 256, "http://%s/%s/?delete", ctx->hostaddr, ctx->instance->bucketname); + curl_easy_setopt(ctx->curl, CURLOPT_POST, 1L); + curl_easy_setopt(ctx->curl, CURLOPT_POSTFIELDSIZE, ctx->response.size); //填充Content-Length,在CURLOPT_COPYPOSTFIELDS之前设置 + curl_easy_setopt(ctx->curl, CURLOPT_COPYPOSTFIELDS, ctx->response.buff); + curl_easy_setopt(ctx->curl, CURLOPT_URL, minio_url); + curl_easy_setopt(ctx->curl, CURLOPT_USERAGENT, "aws-sdk-cpp/1.5.24 Linux/3.10.0-327.el7.x86_64 x86_64 pangu_cache"); + curl_easy_setopt(ctx->curl, CURLOPT_HTTPHEADER, ctx->headers); + curl_easy_setopt(ctx->curl, CURLOPT_NOSIGNAL, 1L); + curl_easy_setopt(ctx->curl, CURLOPT_WRITEFUNCTION, curl_response_body_save_cb); + curl_easy_setopt(ctx->curl, CURLOPT_WRITEDATA, ctx); + curl_easy_setopt(ctx->curl, CURLOPT_ERRORBUFFER, ctx->error); + curl_easy_setopt(ctx->curl, CURLOPT_PRIVATE, ctx); + curl_easy_setopt(ctx->curl, CURLOPT_FOLLOWLOCATION, 1L); + curl_easy_setopt(ctx->curl, CURLOPT_CONNECTTIMEOUT_MS, 500L); + curl_easy_setopt(ctx->curl, CURLOPT_LOW_SPEED_TIME, 2L); + curl_easy_setopt(ctx->curl, CURLOPT_LOW_SPEED_LIMIT, 100L); + + rc = curl_multi_add_handle(ctx->instance->multi_hd, ctx->curl); + assert(rc==CURLM_OK); + easy_string_destroy(&ctx->response); + return 0; +} + void tango_cache_curl_get_done(struct tango_cache_ctx *ctx, CURLcode res, long res_code) { switch(ctx->get.state) diff --git a/cache/tango_cache_transfer.h b/cache/tango_cache_transfer.h index 1f1d5b5..f976fd1 100644 --- a/cache/tango_cache_transfer.h +++ b/cache/tango_cache_transfer.h @@ -9,8 +9,11 @@ void tango_cache_curl_put_done(struct tango_cache_ctx *ctx, CURLcode res, long res_code); void tango_cache_curl_get_done(struct tango_cache_ctx *ctx, CURLcode res, long res_code); void tango_cache_curl_del_done(struct tango_cache_ctx *ctx, CURLcode res, long res_code); +void tango_cache_curl_muldel_done(struct tango_cache_ctx *ctx, CURLcode res, long res_code); int cache_delete_minio_object(struct tango_cache_ctx *ctx); +int tango_cache_multi_delete_start(struct tango_cache_ctx *ctx); + int cache_kick_upload_minio_end(struct tango_cache_ctx *ctx); bool cache_kick_upload_minio_multipart(struct tango_cache_ctx *ctx, size_t block_len); diff --git a/cache/tango_cache_xml.cpp b/cache/tango_cache_xml.cpp index d7d7a80..2b26b4e 100644 --- a/cache/tango_cache_xml.cpp +++ b/cache/tango_cache_xml.cpp @@ -46,7 +46,7 @@ bool parse_uploadID_xml(const char *content, int len, char **uploadID) return false; } -int construct_complete_xml(struct tango_cache_ctx *ctx, char **xml, int *len) +void construct_complete_xml(struct tango_cache_ctx *ctx, char **xml, int *len) { struct multipart_etag_list *etag; xmlDoc *pdoc; @@ -68,6 +68,104 @@ int construct_complete_xml(struct tango_cache_ctx *ctx, char **xml, int *len) xmlDocDumpFormatMemory(pdoc, (xmlChar **)xml, len, 1); xmlFreeDoc(pdoc); - return 0; +} + +static void fill_multidelete_xml_errcode(xmlNode *error, char *out, int size) +{ + xmlChar *errcode; + xmlNode *child = error->children; + + while(child != NULL) + { + if(child->type != XML_ELEMENT_NODE || xmlStrcmp(child->name, (const xmlChar *)"Message")) + { + child = child->next; + continue; + } + errcode = xmlNodeGetContent(child); + snprintf(out, size, "%s", (char *)errcode); + xmlFree(errcode); + break; + } +} + +bool parse_multidelete_xml(const char *xml, int len, u_int32_t *errnum, char *errstr, int size) +{ + xmlDoc *pdoc; + xmlNode *pcur; + int errornum=0; + + if((pdoc = xmlParseMemory(xml, len)) == NULL) + { + return false; + } + if((pcur = xmlDocGetRootElement(pdoc)) == NULL) + { + xmlFreeDoc(pdoc); + return false; + } + + while(pcur->type != XML_ELEMENT_NODE) + pcur = pcur->next; + if(xmlStrcmp(pcur->name, (const xmlChar *)"DeleteResult")) + { + xmlFreeDoc(pdoc); + return false; + } + pcur = pcur->children; + while(pcur != NULL) + { + if(pcur->type != XML_ELEMENT_NODE || xmlStrcmp(pcur->name, (const xmlChar *)"Error")) + { + pcur = pcur->next; + continue; + } + if(errornum == 0) + { + fill_multidelete_xml_errcode(pcur, errstr, size); + } + errornum++; + pcur = pcur->next; + } + *errnum = errornum; + + xmlFreeDoc(pdoc); + return true; +} + +void construct_multiple_delete_xml(const char *bucket, char *key[], u_int32_t num, int is_hash, char **xml, size_t *len) +{ + xmlDoc *pdoc; + xmlNode *root, *child; + int xmllen; + + pdoc = xmlNewDoc((const xmlChar *)"1.0"); + root = xmlNewNode(NULL, (const xmlChar *)"Delete"); + xmlDocSetRootElement(pdoc, root); + + xmlNewChild(root, NULL, (const xmlChar*)"Quiet", (const xmlChar*)"true"); + + if(is_hash) + { + char hashkey[72], sha256[72]; + for(u_int32_t i=0; ifilename); + future_destroy(pdata->future); + free(pdata); +} +void del_future_failed(enum e_future_error err, const char * what, void * user) +{ + struct future_pdata *pdata = (struct future_pdata *)user; + + printf("DEL %s fail: %s\n", pdata->filename, what); + future_destroy(pdata->future); + free(pdata); +} + char * get_file_content(const char *filename, size_t *filelen_out) { char *buffer; @@ -136,6 +153,8 @@ char * get_file_content(const char *filename, size_t *filelen_out) return buffer; } +int tango_cache_multi_delete(struct tango_cache_instance *instance, struct future* future, char *objlist[], u_int32_t num); + static void dummy_accept_callback(evutil_socket_t fd, short events, void *arg) { char s[1024]; @@ -144,6 +163,9 @@ static void dummy_accept_callback(evutil_socket_t fd, short events, void *arg) FILE *input = (FILE *)arg; static int index=0; char filename[128], method[16], buffer[1024], *p; + char *dellist[16]; + char *pstart, *save_ptr=NULL; + int delnum=0; struct tango_cache_meta meta; struct future_pdata *pdata; @@ -207,6 +229,25 @@ static void dummy_accept_callback(evutil_socket_t fd, short events, void *arg) fclose(fp); tango_cache_upload_once_evbuf(tango_instance, pdata->future, EVBUFFER_MOVE, evbuf, &meta, pdata->filename, 256); } + else if(!strcasecmp(p, "DEL")) + { + pdata->future = future_create(del_future_success, del_future_failed, pdata); + promise_set_ctx(future_to_promise(pdata->future), NULL, NULL); + sprintf(pdata->filename, "%s", s); + tango_cache_delete_object(tango_instance, pdata->future, s); + } + else if(!strcasecmp(p, "DELMUL")) //TODO + { + pdata->future = future_create(del_future_success, del_future_failed, pdata); + promise_set_ctx(future_to_promise(pdata->future), NULL, NULL); + sprintf(pdata->filename, "%s", s); + + for(pstart = strtok_r(s, ";", &save_ptr); pstart != NULL; pstart = strtok_r(NULL, ";", &save_ptr)) + { + dellist[delnum++] = pstart; + } + tango_cache_multi_delete(tango_instance, pdata->future, dellist, delnum); + } else { pdata->future = future_create(put_future_success, put_future_failed, pdata);