[Mongrel] Recommendation: Stalled Mongrel? Memcache Hates Spaces
Zed A. Shaw
zedshaw at zedshaw.com
Tue Jan 2 13:41:24 EST 2007
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:
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.awprofessional.com/title/0321483502 -- The Mongrel Book
http://www.lingr.com/room/3yXhqKbfPy8 -- Come get help.
More information about the Mongrel-users