Я использую libmemcached C API для взаимодействия с memcached. Время от времени memcached_set не работает с SERVER HAS FAILED AND DISABLED UNTIL TIMED RETRY
. Каким может быть общий подход для решения этой проблемы.libmemcached: SERVER HAS FAILED AND DISABLED UNTIL TIMED RETRY
Эта ошибка возникает только на производственных серверах, и она не может быть реализована в среде разработки.
- Memcached версия: 1.4.7
- libmemcahced версия: 1.0.2
- Linux RHEL6 OS
- GCC 4.7.3
Ниже псевдо фрагмент кода, не могут оставлять цельные код.
bool set_keys(std::string const & query)
{
// create a DB connection
// execute query
// consider result of query is as following
std::vector<std::tuple<std::string,std::string>>result_set;
memcached_return rc;
for(auto const & item : result_set)
{
rc= memcached_set(memc, std::get<0>(item).c_str(), std::get<0>(item).size(), std::get<1>(item).c_str(), std::get<1>(item).size(), (time_t)0, (uint32_t)0);
if (rc != MEMCACHED_SUCCESS)
fprintf(stderr,"Couldn't store key: %s\n",memcached_strerror(memc, rc));
}
}
Одна вещь, которую я заметил, что memcached_server_list_append
не используется нигде в коде после творений Memcached связи, это может вызвать проблемы?
Пожалуйста, добавьте комментарий, когда вы проголосуете, станет для меня обучением ... Потому что я понятия не имею, что случилось с вопросом – gjha