Monday, February 25, 2008

My new PHP gripe

This is causing us grief -- one of our (legacy) authentication systems works by accepting username/password over a SOAP request and returning a true or a false depending on whether the authentication succeeded. Naturally, this communication is done over SSL. In the past few weeks that authentication server has developed some instability -- it would accept an incoming connection, but would then hang for a few minutes before ultimately dropping it.

Since setting a socket timeout for SSL doesn't work, the soap app will successfully hang the HTTP process and will do so until we run up our MaxClients and have to return 503 "Server too busy" errors for the entire site.

The most annoying part is that this bug has been open since June 2007. I understand that this is a rare enough case not to affect too many people, but it's one of those times when a small bug causes massive failures.

No comments: