This queue is for tickets about the Cache-Memcached-Fast CPAN distribution.

Report information
The Basics
Id:
128575
Status:
new
Priority:
Low/Low

People
Owner:
Nobody in particular
Requestors:
KOCEASY [...] cpan.org
Cc:
igor.bujna [...] post.cz
AdminCc:

BugTracker
Severity:
(no value)
Broken in:
(no value)
Fixed in:
(no value)



CC: igor.bujna@post.cz
Hi, I have installation of 2 memcached servers in version 1.5.3 and for client I use latest Cache-Memcached-Fast package in version 0.25. Problem is when one of this server fail so Cache-Memcached-Fast method add() fail too. I test option 'max_failures' and 'failure_timeout' and still it fail. In test file exists 2 memcached servers on other ports. When I start only one memcached server like 'memcached -d -P memcached.pid -l 127.0.0.1 -m 8' and other memcached server on port 11212 isn't started, about 50% of methods fail. When I try to discover where is problem, so bad server with port 11212 in method src/client.c:client_mark_failed() is properly mark as fail. But in method src/client.c:client_execute() still use bad server from array and fail on is_active(state) method. Regards Igor
Subject: fail_memcached.pl
use strict; use Time::HiRes; use Cache::Memcached::Fast; my $param = { 'failure_timeout' => 3000, 'max_failures' => 3, 'servers' => ['127.0.0.1:11211', '127.0.0.1::11212',], 'compress_threshold' => 10000 }; my $count = 100; my $fail = 0; for (my $i = 0; $i < $count; $i++) { my $conn = Cache::Memcached::Fast->new($param); $conn->namespace("_testing:"); my $ret = $conn->add("Testing->Cache::Memcached::Fast->add_method_$i:" . time, 1, 2); print "Test $i => $ret\n"; $fail++ unless $ret; Time::HiRes::sleep(0.1); } print "Fail $fail from $count : " . (($fail / $count) * 100.0) . "%\n";


This service runs on Request Tracker, is sponsored by The Perl Foundation, and maintained by Best Practical Solutions.

Please report any issues with rt.cpan.org to rt-cpan-admin@bestpractical.com.