|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2010-06-17 12:07 UTC] somnium at ukr dot net
Description:
------------
If one of two memcached servers is down - system do not selects working memcached server.
In reproduce code server2 is down and server1 is OK. If we remove server2 from $memcache->addServers() method - then code works OK.
ОS: Ubuntu 8.04
Repcached: 2.2
PECL Memcached: 1.0.2
libmemcached: 0.40
PHP: 5.2.4
Reproduce code:
---------------
$memcache = new Memcached();
$memcache->setOption(Memcached::OPT_LIBKETAMA_COMPATIBLE, true);
$memcache->setOption(Memcached::OPT_DISTRIBUTION, Memcached::DISTRIBUTION_CONSISTENT);
// server2 is down and server1 is OK.
$memcache->addServers(array('server1', 11211), array('server2', 11211));
$memcache->set('var1', 'qwerty');
echo $memcache->get('var1');
Expected result:
----------------
Must be shown "qwerty"
Actual result:
--------------
Nothing shown. (getResultCode() returns RES_WRITE_FAILURE = 5)
PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Sat Oct 25 10:00:01 2025 UTC |
pecl/memcached is a pretty thin wrapper on top of libmemcached, so you'd be better off asking these questions on libmemcached mailing list. Here's the meaning of the settings you're asking about (from manpages): MEMCACHED_BEHAVIOR_SERVER_FAILURE_LIMIT This number of times a host can have an error before it is disabled. MEMCACHED_BEHAVIOR_RETRY_TIMEOUT When enabled a host which is problematic will only be checked for usage based on the amount of time set by this behavior.