https://issues.apache.org/bugzilla/show_bug.cgi?id=57520

dk <[email protected]> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
             Status|NEEDINFO                    |NEW

--- Comment #3 from dk <[email protected]> ---
1) Yes, Jetty is being restarted gracefully. I am calling server.stop() and
then server.join() to ensure the JVM does not exit till all current requests
finish. All Java-side issues have been sorted out by now

2) The error that reveals the problem here is a Java exception with "EOF while
reading" HTTP input stream. This is only possible if the connection is closed
by Apache - JVM would not do this since Jetty is being stopped gracefully and
waiting for requests to finish, per above.

3) Yes, XML is being uploaded into Jetty as HTTP body. It is read by servlet as
raw input stream fed into XML parser. Per above, the stream reading
sporadically fails with a "premature EOF exception" if Jetty is being
stopped/restarted under heavy load 

4) The HTTP body read never fails unless Jetty is restarted. Both our test
client and Jetty servlet have been confirmed to function correctly under all
circumstances, except the stress test of Jetty restart under heavy load

5) Of course I see "disabling worker" messages. That's the point of the test -
to ensure that restarting Jetty under heavy load is graceful and does not
mangle requests in process. Additionally "proxy: error reading status line from
remote server" messages occasionally appear which may also be consistent with
the possibility of httpd killing in-process connections when a worker is
disabled.

6) I tried this with or without keepalives (per instructions in Bug 37770) and
the behavior is consistent. Specifically the tested cases were: 1) 'SetEnv
proxy-nokeepalive 1' 2) keepalive=On on all balancer workers 3) 'KeepAlive 600'
within vhost config

Here are the sample lines from httpd error log -

[Sun Feb 01 16:11:48 2015] [error] [client xx.xx.xx.xx] (20014)Internal error:
proxy: error reading status line from remote server host1:xxxx
[Sun Feb 01 16:11:48 2015] [error] [client xx.xx.xx.xx] proxy: Error reading
from remote server returned by /my_uri

[Sun Feb 01 16:40:06 2015] [error] [client xx.xx.xx.xx] (104)Connection reset
by peer: proxy: error reading status line from remote server host1:xxxx
[Sun Feb 01 16:40:06 2015] [error] [client xx.xx.xx.xx] proxy: Error reading
from remote server returned by /my_uri
[Sun Feb 01 16:40:06 2015] [error] [client xx.xx.xx.xx] (104)Connection reset
by peer: proxy: error reading status line from remote server host2:xxxx
[Sun Feb 01 16:40:06 2015] [error] [client xx.xx.xx.xx] proxy: Error reading
from remote server returned by /my_uri
[Sun Feb 01 16:40:06 2015] [error] (111)Connection refused: proxy: HTTP:
attempt to connect to xx.xx.xx.xx:xxxx (host1) failed
[Sun Feb 01 16:40:06 2015] [error] ap_proxy_connect_backend disabling worker
for (host1)
[Sun Feb 01 16:40:26 2015] [error] (111)Connection refused: proxy: HTTP:
attempt to connect to xx.xx.xx.xx:xxxx (host2) failed
[Sun Feb 01 16:40:26 2015] [error] ap_proxy_connect_backend disabling worker
for (host2)

-- 
You are receiving this mail because:
You are the assignee for the bug.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to