Unfortunately the shutdown timeout how you are using it doesn’t work with 
Apache graceful restart. The way that Apache manages these other processes, 
ie., mod_wsgi daemon processes, is that it will kill them after 3 seconds on a 
graceful restart if they haven’t shutdown already. So the long requests will be 
holding the process running and so they get killed after 3 seconds regardless. 
This is why you see the 'Truncated or oversized response headers’ message. Is 
because the daemon process went away while Apache child worker process was 
still waiting for a response due to worker process happily staying around due 
to graceful restart.

No good solution for the problem that I know of at this point to do a whole of 
Apache graceful restart such that the daemon processes aren’t impacted.

Graham

On 14 Apr 2015, at 6:37 pm, Greg Janée <[email protected]> wrote:

> No segfault... the log looks like this:
> 
> [Tue Apr 14 13:18:27 2015] [notice] SIGUSR1 received.  Doing graceful restart
> [Tue Apr 14 13:18:30 2015] [error] [client ...] Truncated or oversized 
> response headers...
> 
> The longish shutdown timeout is because this system performs transactions 
> that can take significant real time to perform; this is not a system that is 
> rapidly returning page views.  When deploying new code by reloading modwsgi, 
> the long shutdown timeout has been invaluable because it allows the current 
> transactions to complete cleanly.
> 
> I should add, the reason why I've been poking around with Apache's graceful 
> restart is I was looking for a way to safely restart Apache in the same way 
> that I can currently safely reload modwsgi ("safely" meaning that current 
> operations are allowed to finish and incoming requests are queued until the 
> server is ready again).
> 
> -Greg
> 
> 
> On Tuesday, April 14, 2015 at 3:21:22 PM UTC-7, Graham Dumpleton wrote:
> That message can occur for another reason when doing a graceful restart.
> 
> Do you see an actual Segmentation fault message in the main Apache error log?
> 
> If there is no segmentation fault, it is likely to be this other reason. At 
> least, it wouldn’t mean it is crashing.
> 
> However, why specifically are you running with shutdown-timeout of 60. 
> Normally that would be 5 and you wouldn’t generally want to play with it.
> 
> Graham
> 
> On 14 Apr 2015, at 6:15 pm, Greg Janée <[email protected]> wrote:
> 
>> I'm running modwsgi in daemon mode and getting a "Truncated or oversized 
>> response headers received..." error from Apache, which I believe means the 
>> daemon died.  This happens when I do an Apache graceful restart and there is 
>> an open HTTP connection being handled by modwsgi at the time of the restart. 
>>  The daemon dies almost immediately.  If there is no open HTTP connection, 
>> then a graceful restart works fine.  An ordinary (non-graceful) restart also 
>> works.
>> 
>> This is a mature modwsgi/Django application that runs just fine in every 
>> other way.  I don't think I've ever tried doing a graceful restart before, 
>> so it's entirely possible this behavior has always been there and I just 
>> didn't notice it.
>> 
>> My version of modwsgi is pretty recent I believe.  If the issue is with 
>> Apache, I could upgrade to 2.4.x, but it's not obvious that that is relevant 
>> here.
>> 
>> Apache 2.2.17, MPM worker mode
>> modwsgi 4.4.9
>> Python 2.7.6
>> 
>> MPM config:
>> ServerLimit 6
>> StartServers 2
>> MaxClients 150
>> ThreadsPerChild 25
>> MinSpareThreads 25
>> MaxSpareThreads 75
>> 
>> modwsgi config:
>> WSGIDaemonProcess site-1 threads=50 shutdown-timeout=60
>> WSGIApplicationGroup %{GLOBAL}
>> WSGIProcessGroup site-1
>> WSGIPassAuthorization on
>> 
>> 
>> -- 
>> You received this message because you are subscribed to the Google Groups 
>> "modwsgi" group.
>> To unsubscribe from this group and stop receiving emails from it, send an 
>> email to [email protected].
>> To post to this group, send email to [email protected].
>> Visit this group at http://groups.google.com/group/modwsgi.
>> For more options, visit https://groups.google.com/d/optout.
> 
> 
> -- 
> You received this message because you are subscribed to the Google Groups 
> "modwsgi" group.
> To unsubscribe from this group and stop receiving emails from it, send an 
> email [email protected].
> To post to this group, send email to [email protected].
> Visit this group at http://groups.google.com/group/modwsgi.
> For more options, visit https://groups.google.com/d/optout.

-- 
You received this message because you are subscribed to the Google Groups 
"modwsgi" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To post to this group, send email to [email protected].
Visit this group at http://groups.google.com/group/modwsgi.
For more options, visit https://groups.google.com/d/optout.

Reply via email to