Hi Everyone,

There's quite a few of you who have contacted me about Mongrel suddenly 
stopping.  After a lot of investigation, I found that the common thread between 
all of you is memcache and Eric Hodel's memcache-client.  People who were 
running this combination would have intermittent pauses and investigating the 
stalled mongrels showed that memcache-client was waiting for information from 
memcached.

A friend just told me that he found out the problem is memcache does not accept 
keys with spaces in them.  From this spec:

http://cvs.danga.com/browse.cgi/wcmtools/memcached/doc/protocol.txt?rev=HEAD

We have this paragraph:

"Data stored by memcached is identified with the help of a key. A key
is a text string which should uniquely identify the data for clients
that are interested in storing and retrieving it.  Currently the
length limit of a key is set at 250 characters (of course, normally
clients wouldn't need to use such long keys); the key must not include
control characters or whitespace."

Notice the last part "the key most not include control characters or 
whitespace".

Since memcache-client doesn't currently escape your keys for you (not sure if 
it should actually), you have to do this yourself or bad super evil things 
happen.  The few people who have made this change report no more stopped 
mongrel processes.

Please try this out and report back to me if it fixes things.

-- 
Zed A. Shaw, MUDCRAP-CE Master Black Belt Sifu
http://www.zedshaw.com/
http://www.awprofessional.com/title/0321483502 -- The Mongrel Book
http://mongrel.rubyforge.org/
http://www.lingr.com/room/3yXhqKbfPy8 -- Come get help.
_______________________________________________
Mongrel-users mailing list
Mongrel-users@rubyforge.org
http://rubyforge.org/mailman/listinfo/mongrel-users

Reply via email to