[OSM-dev] HTTP 500s and thread suicide (Was Status of Database Server after 0.4 Upgrade: Fragile)

Dan Moore writetodan at yahoo.com
Sun May 13 15:06:21 BST 2007

hi, this might be rubbish, but it's all i can find from src / t'internet:

i can see from apps/controllers/api_controller.rb that the suicide call is using 
the 'exit!' call. the docs on this:


suggests, that this could be severely killing the ruby env - i.e. other current requests
terminate without logging / returning?  the plain 'exit' command looks more graceful, 
so might be better (perhaps rescuing SystemExit)?

if not, perhaps sending a USR2 signal to the process will work - this should
gracefully restart the fcgi process, afaict.  if not, send a TERM and then fcgi should close
gracefully after current req and lighttpd should restart?

  Process.kill("USR2", Process.pid)

cheers, dan.

----- Original Message ----
From: SteveC <steve at asklater.com>
To: Frederik Ramm <frederik at remote.org>
Cc: dev at openstreetmap.org
Sent: Saturday, May 12, 2007 9:36:03 PM
Subject: Re: [OSM-dev] Status of Database Server after 0.4 Upgrade: Fragile

So here's a braindump:

HTTPISE 500's. The server is running lighthttpd on top of fcgi using  
the script/process scripts. These are running with 3 threads with a  
restart time of 2 seconds. The threads commit suicide after some  
number of requests (which I will increase in a sec) to either the map  
or gpx call. When that happens, lightttpd and fcgi are supposed to  
pause the queue of requests (which may or may not be api requests).  
My suspicion is that the queue is getting killed (and thus a bunch of  
500's) instead.

Looking through the logs the rails stuff itself is not producing the  
500s, its somwthing to do with the threads killing themselves.

____________________________________________________________________________________Be a better Globetrotter. Get better travel answers from someone who knows. Yahoo! Answers - Check it out.

More information about the dev mailing list