parser

Написать ответ на текущее сообщение

 

 
   команды управления поиском

Ответ

AK666 22.11.2013 00:56

Что-то вы не так делаете, исключение должно исчезнуть (и исчезает).
а я предупреждал :)
У меня получается чуть другая ситуация. Есть ощущение, что выбирается один из серверов, и работа идет только с ним.
ну вот гдето в сознании опять всплывает мысль что коннект к либмемкешеду в случае нескольких серверов должна выглядить как
memcached_pool(config_string, strlen(config_string));
remove-failed-servers и
скорее всего и работает только для пула серверов. Сам параметр просто говорит через сколько попыток обращений к серверу пометить его как dead. но в алгоритмах где разместить данные он(сервер) участвует (скорее всего, чтобы были доступны ключи на оставшихся серверах), но ничего туда не пишется и не читается. И новые ключи, если должны быть записаны в этот dead сервер - они просто теряются. (если не включен параметр NUMBER-OF-REPLICAS который якобы указывает сколько копий ключа хранить [такой себе РАЙД :)] )

т.е. есть подозрение что надо сделать ещё один memcached::open например с параметром $.multiservers(true)
который будет инициализировать fm как
fp=f_memcached_pool(options_string.cstr(), options_string.length()); 
fm=f_memcached_pool_pop(fp, false, &rc);
я, конечно, попытался поанализировать где и как в libmemcached используется параметр remove-failed-servers
но к сожалению ни С ни С++ не знаю :( запутался я там :)