https://bz.apache.org/bugzilla/show_bug.cgi?id=65180

--- Comment #3 from Christopher Pereira <krip...@imatronix.com> ---
I have been seen exactly the same behaviour with mod_proxy since some
years/versions ago including latests CentOS version
(httpd-2.4.6-97.el7.centos.x86_64).

We are proxying CouchDB with this config:

        AllowEncodedSlashes On
        ProxyPass /couchdb http://localhost:5984/ nocanon
        ProxyPassReverse /couchdb http://localhost:5984/

The problem ocurrs with CouchDB longpoll or continuous feed connections (AKA
"Live replication" or "continuous replication" in PouchDB jargon), ie. those
HTTP connections that stay alive.

The proxied connections are listed as "W" (sending reply) by apache status and
all at once (!) they change all to "G" (gracefully finishing) no matter what
their SS time is (seconds since beginning of most recent request). I'm not sure
what triggers it, but it happens many times in a day, so I can provide more
information if you need.

strace shows that the processes in "G" state continue reading and writing data:

        read(73, "1\r\n\n\r\n", 8000)           = 6
        read(73, 0x7fd2a9cd05b8, 8000)          = -1 EAGAIN (Resource
temporarily unavailable)
        writev(72,
[{"\27\3\3\0\34\265\221\7\333\31s\324\204\20\7\323{\30\35h\311\236\253}\306H\274B\36>\274\375"...,
33},
{"\27\3\3\0\32\265\221\7\333\31s\324\205y\32\332o\220YgkIo_\270\336\0z\300\355n",
31}], 2) = 64
        read(73, 0x7fd2a9cd05b8, 8000)          = -1 EAGAIN (Resource
temporarily unavailable)
        poll([{fd=73, events=POLLIN}], 1, 60000) = 1 ([{fd=73,
revents=POLLIN}])


Here fd = 73 is the connection between Apache and CouchDB (LAN) and fd = 72 is
the connection between Apache and the PouchDB client (WAN).

After restarting CouchDB, all threads in "G" state become an open slot again
(the same PID continues running).

The problem is that at some point, all slots will be used and the server gets
irresponsive. Increasing MaxClients may also crash the server because each
process consumes like 60 MB.

-- 
You are receiving this mail because:
You are the assignee for the bug.
---------------------------------------------------------------------
To unsubscribe, e-mail: bugs-unsubscr...@httpd.apache.org
For additional commands, e-mail: bugs-h...@httpd.apache.org

Reply via email to