Skip Menu |
 

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

Report information
The Basics
Id: 66350
Status: new
Priority: 0/
Queue: AnyEvent-Memcached

People
Owner: Nobody in particular
Requestors: jayj [...] yahoo-inc.com
Cc:
AdminCc:

Bug Information
Severity: (no value)
Broken in: (no value)
Fixed in: (no value)



Subject: AnyEvent::Memcached not handling unavailable memcache servers correctly?
Date: Thu, 3 Mar 2011 06:49:38 -0800
To: "bug-AnyEvent-Memcached [...] rt.cpan.org" <bug-AnyEvent-Memcached [...] rt.cpan.org>
From: Jay Janssen <jayj [...] yahoo-inc.com>
Download (untitled) / with headers
text/plain 2.8k
I have a test script (attached, hopefully RT will do the right thing with it) where I'm setting up two memcached daemons and connecting AnyEvent::Memcached to both of them. I then run loop over a sub that checks for a set of keys 1-10, and if any do not exist, it creates them. This runs fine. However, what I wanted to test was the failure of one of the memcached. So in my shell, I kill one of the memcached instances. AnyEvent::Memcached seems to then hang on the 'get' looking for all the keys. The debug output gives this: Disconnected 127.0.0.1:11212 AnyEvent::Memcached::Conn=HASH(0x93c5f64) Error: Broken pipe at /home/y/lib/perl5/site_perl/AnyEvent/Connection.pm line 257. (154951524) Destroying AE::CNN::Raw at /home/y/lib/perl5/site_perl/AnyEvent/Connection/Raw.pm line 79. Peer 127.0.0.1:11212 disconnected: Error: Broken pipe <<127.0.0.1:11213+2 5 7 9 VALUE 2 0 4 at /home/y/lib/perl5/site_perl/AnyEvent/Memcached/Conn.pm line 26. <+ read 6 at /home/y/lib/perl5/site_perl/AnyEvent/Connection/Raw.pm line 138. + received data 2: foo2 at /home/y/lib/perl5/site_perl/AnyEvent/Memcached/Conn.pm line 48. <<127.0.0.1:11213+2 5 7 9 VALUE 5 0 4 at /home/y/lib/perl5/site_perl/AnyEvent/Memcached/Conn.pm line 26. <+ read 6 at /home/y/lib/perl5/site_perl/AnyEvent/Connection/Raw.pm line 138. + received data 5: foo5 at /home/y/lib/perl5/site_perl/AnyEvent/Memcached/Conn.pm line 48. <<127.0.0.1:11213+2 5 7 9 VALUE 7 0 4 at /home/y/lib/perl5/site_perl/AnyEvent/Memcached/Conn.pm line 26. <+ read 6 at /home/y/lib/perl5/site_perl/AnyEvent/Connection/Raw.pm line 138. + received data 7: foo7 at /home/y/lib/perl5/site_perl/AnyEvent/Memcached/Conn.pm line 48. <<127.0.0.1:11213+2 5 7 9 VALUE 9 0 4 at /home/y/lib/perl5/site_perl/AnyEvent/Memcached/Conn.pm line 26. <+ read 6 at /home/y/lib/perl5/site_perl/AnyEvent/Connection/Raw.pm line 138. + received data 9: foo9 at /home/y/lib/perl5/site_perl/AnyEvent/Memcached/Conn.pm line 48. <<127.0.0.1:11213+2 5 7 9 END at /home/y/lib/perl5/site_perl/AnyEvent/Memcached/Conn.pm line 26. Connecting to 127.0.0.1:11212... at /home/y/lib/perl5/site_perl/AnyEvent/Connection.pm line 243. Not connected 127.0.0.1:11212: Connection refused at /home/y/lib/perl5/site_perl/AnyEvent/Connection.pm line 266. Then it repeats this message forever: Connecting to 127.0.0.1:11212... at /home/y/lib/perl5/site_perl/AnyEvent/Connection.pm line 243. Not connected 127.0.0.1:11212: Connection refused at /home/y/lib/perl5/site_perl/AnyEvent/Connection.pm line 266. I would expect there to be a timeout for io operations that would simply take the server out of the connection pool like other clients. Is this a bug or am I supposed to implement my own AnyEvent::Memcached::Hash subclass that handles this? My memcached is 1.4.5 and I'm using AnyEvent::Memcached-0.05 on perl 5.8 and perl 5.10 (same problem on both). Jay Janssen High Availability Something-or-other jayj@yahoo-inc.com

Message body is not shown because sender requested not to inline it.



This service is sponsored and maintained by Best Practical Solutions and runs on Perl.org infrastructure.

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