X-Git-Url: https://git.m6w6.name/?a=blobdiff_plain;f=clients%2Fexecute.cc;h=cf7779e5140c8f2afada67ebc5c1ab8c81e8d45d;hb=2569efffe16042f47dc5d2c34528a9ec22fc18b0;hp=6d82df6f2798150bf903338a6f320638f47c4a02;hpb=dbd192a1c0caf4eb95c433d21d124c359c00381d;p=awesomized%2Flibmemcached diff --git a/clients/execute.cc b/clients/execute.cc index 6d82df6f..cf7779e5 100644 --- a/clients/execute.cc +++ b/clients/execute.cc @@ -1,4 +1,5 @@ /* LibMemcached + * Copyright (C) 2011-2012 Data Differential, http://datadifferential.com/ * Copyright (C) 2006-2009 Brian Aker * All rights reserved. * @@ -15,7 +16,7 @@ */ #include -#include "execute.h" +#include "clients/execute.h" unsigned int execute_set(memcached_st *memc, pairs_st *pairs, unsigned int number_of) { @@ -27,11 +28,15 @@ unsigned int execute_set(memcached_st *memc, pairs_st *pairs, unsigned int numbe memcached_return_t rc= memcached_set(memc, pairs[x].key, pairs[x].key_length, pairs[x].value, pairs[x].value_length, 0, 0); - if (rc != MEMCACHED_SUCCESS and rc != MEMCACHED_BUFFERED) + if (memcached_failed(rc)) { - fprintf(stderr, "Failure on insert (%s) of %.*s\n", + fprintf(stderr, "%s:%d Failure on insert (%s) of %.*s\n", + __FILE__, __LINE__, memcached_last_error_message(memc), (unsigned int)pairs[x].key_length, pairs[x].key); + + // We will try to reconnect and see if that fixes the issue + memcached_quit(memc); } else { @@ -48,26 +53,25 @@ unsigned int execute_set(memcached_st *memc, pairs_st *pairs, unsigned int numbe */ unsigned int execute_get(memcached_st *memc, pairs_st *pairs, unsigned int number_of) { - memcached_return_t rc; unsigned int x; unsigned int retrieved; for (retrieved= 0,x= 0; x < number_of; x++) { - char *value; size_t value_length; uint32_t flags; - unsigned int fetch_key; - fetch_key= (unsigned int)((unsigned int)random() % number_of); + unsigned int fetch_key= (unsigned int)((unsigned int)random() % number_of); - value= memcached_get(memc, pairs[fetch_key].key, pairs[fetch_key].key_length, - &value_length, &flags, &rc); + memcached_return_t rc; + char *value= memcached_get(memc, pairs[fetch_key].key, pairs[fetch_key].key_length, + &value_length, &flags, &rc); - if (rc != MEMCACHED_SUCCESS) + if (memcached_failed(rc)) { - fprintf(stderr, "Failure on read(%s) of %.*s\n", + fprintf(stderr, "%s:%d Failure on read(%s) of %.*s\n", + __FILE__, __LINE__, memcached_last_error_message(memc), (unsigned int)pairs[fetch_key].key_length, pairs[fetch_key].key); } @@ -122,7 +126,8 @@ unsigned int execute_mget(memcached_st *memc, rc= memcached_fetch_execute(memc, callbacks, (void *)&retrieved, 1); if (rc != MEMCACHED_SUCCESS && rc != MEMCACHED_NOTFOUND && rc != MEMCACHED_END) { - fprintf(stderr, "Failed to execute mget: %s\n", + fprintf(stderr, "%s:%d Failed to execute mget: %s\n", + __FILE__, __LINE__, memcached_strerror(memc, rc)); memcached_quit(memc); return 0; @@ -130,7 +135,8 @@ unsigned int execute_mget(memcached_st *memc, } else { - fprintf(stderr, "Failed to execute mget: %s\n", + fprintf(stderr, "%s:%d Failed to execute mget: %s\n", + __FILE__, __LINE__, memcached_strerror(memc, rc)); memcached_quit(memc); return 0;