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>
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.