http://code.google.com/p/modwsgi/downloads/list
This is a bug fix only release and contains a fix to eliminate, or at
least reduce, the impact of a deadlock situation where mod_wsgi daemon
processes were being used and a request with content greater than UNIX
socket buffer size, was directed at a WSGI application resource
handler which in turn returned a response, greater than UNIX socket
buffer size, without first consuming the request content.
This was found when investigating possible causes for the hanging
daemon processes recently discussed on the group. It is suspected that
this may not be the problem being seen by those sites, as those sites
were also seeing CPU usage maxing out.
It is possible that if the sites were under heavy load that the
successive retries by the Apache child process against the daemon
processes, and the fact that Apache may have needed to create
additional child process to meet demand of incoming requests as more
and more threads were consumed in doing retries, that load may have
increased, but wouldn't have expected to see this to any great degree,
and the daemon processes themselves wouldn't have been running
rampant.
For a bit more detail of the change in version 1.3 see:
http://code.google.com/p/modwsgi/wiki/ChangesInVersion0103
At the same time as this release, have also released 2.0c3. Version
2.0c3 includes this fix and some new code to try and detect deadlocks
on Python GIL and restart daemon process automatically. The full list
of cumulative changes in version 2.0c3 can be seen at:
http://code.google.com/p/modwsgi/wiki/ChangesInVersion0200
Note that neither of these versions changes anything related to
Windows versions of mod_wsgi, nor would you benefit from the changes
if using Apache 1.3. This is because daemon mode is only available on
UNIX and when using Apache 2.X.
Let me know if you see any new problems.
Thanks.
Graham
uploaded to Debian/unstable.
> At the same time as this release, have also released 2.0c3.
uploaded to Debian/experimental.
Cheers,
Bernd
--
Bernd Zeimetz
<be...@bzed.de> <http://bzed.de/>
Actually, this is a lie. Forgot that the changes added unlocking of
the Python GIL around where response output is pushed down to Apache.
Theoretically, this may help to improve concurrency when process being
hit by lots of requests, as not holding the Python GIL for operation
which could theoretically block for a bit if web client is slow. This
would affect both embedded and daemon mode.
So, rebuild for Windows and Apache 1.3 still worthwhile.
BTW, I high recommend an update to this version due to the possibility
that the problem fixed could be used as a form of denial of service
attack in older versions, locking up your daemon processes if someone
finds a URL which satisfies the requirements for triggering the
problem.
Graham