tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: Apache + Mod-jk + Jboss Problem
Date Thu, 15 Jul 2010 15:29:32 GMT
On 15.07.2010 15:23, Rocky Chak wrote:
> Hi,
>
> I have a application using Apache 2.2.15, Mod_jk and Jboss 4.2.1.  Apache
> and Jboss Running fine till now.  Suddenly there is an issue of slow
> browsing and later it stopped serving pages.
>
> We moved to backup server and now trying to fix this one.
>
> When Application deployed on Jboss and Jboss run on Port 80 .. Application
> access&  functionality is PERFECT.
>
> When Apache is on a different machine with same configuration of the present
> host with mod_jk ... .. Application access&  functionality is PERFECT.
>
> But when Apache and Jboss are configured on the same machine with Jboss on
> 8080 ( Anyway this port is not required as AJP uses 8009 port )  -
> Application is behaving in weird fashion.  JSP Pages in the application are
> not rendered fully.  No error is displayed in Apache access_log.
>
> But mod_jk.log shows these errors:
>
> [Thu Jul 15 08:24:39 2010][29201:3086371680] [info]
> ajp_process_callback::jk_ajp_common.c (1788): Writing to client aborted or
> client network problems
> [Thu Jul 15 08:24:39 2010][29201:3086371680] [info]
> ajp_service::jk_ajp_common.c (2447): (node1) sending request to tomcat
> failed (unrecoverable), because of client write error (attempt=1)
> [Thu Jul 15 08:24:41 2010][29201:3086371680] [info] service::jk_lb_worker.c
> (1384): service failed, worker node1 is in local error state
> [Thu Jul 15 08:24:41 2010][29201:3086371680] [info] service::jk_lb_worker.c
> (1403): unrecoverable error 200, request failed. Client failed in the middle
> of request, we can't recover to another instance.
> [Thu Jul 15 08:24:41 2010]loadbalancer abc.xyz.com 70.790837 (url removed by
> me)
> [Thu Jul 15 08:24:41 2010][29201:3086371680] [info] jk_handler::mod_jk.c
> (2608): Aborting connection for worker=loadbalancer
> [Thu Jul 15 08:24:48 2010][29199:3086371680] [info]
> ajp_process_callback::jk_ajp_common.c (1788): Writing to client aborted or
> client network problems
> [Thu Jul 15 08:24:48 2010][29199:3086371680] [info]
> ajp_service::jk_ajp_common.c (2447): (node1) sending request to tomcat
> failed (unrecoverable), because of client write error (attempt=1)
> [Thu Jul 15 08:24:50 2010][29199:3086371680] [info] service::jk_lb_worker.c
> (1384): service failed, worker node1 is in local error state
> [Thu Jul 15 08:24:50 2010][29199:3086371680] [info] service::jk_lb_worker.c
> (1403): unrecoverable error 200, request failed. Client failed in the middle
> of request, we can't recover to another instance.
> [Thu Jul 15 08:24:50 2010]loadbalancer abc.xyz.com 10.869269
> [Thu Jul 15 08:24:50 2010][29199:3086371680] [info] jk_handler::mod_jk.c
> (2608): Aborting connection for worker=loadbalancer
> [Thu Jul 15 08:24:52 2010][29195:3086371680] [info]
> ajp_process_callback::jk_ajp_common.c (1788): Writing to client aborted or
> client network problems
> [Thu Jul 15 08:24:52 2010][29195:3086371680] [info]
> ajp_service::jk_ajp_common.c (2447): (node1) sending request to tomcat
> failed (unrecoverable), because of client write error (attempt=1)
> [Thu Jul 15 08:24:54 2010][29195:3086371680] [info] service::jk_lb_worker.c
> (1384): service failed, worker node1 is in local error state
> [Thu Jul 15 08:24:54 2010][29195:3086371680] [info] service::jk_lb_worker.c
> (1403): unrecoverable error 200, request failed. Client failed in the middle
> of request, we can't recover to another instance.
> [Thu Jul 15 08:24:54 2010]loadbalancer abc.xyz.com 6.253777
> [Thu Jul 15 08:24:54 2010][29195:3086371680] [info] jk_handler::mod_jk.c
> (2608): Aborting connection for worker=loadbalancer
> [Thu Jul 15 08:24:55 2010][29198:3086371680] [info]
> ajp_process_callback::jk_ajp_common.c (1788): Writing to client aborted or
> client network problems
> [Thu Jul 15 08:24:55 2010][29198:3086371680] [info]
> ajp_service::jk_ajp_common.c (2447): (node1) sending request to tomcat
> failed (unrecoverable), because of client write error (attempt=1)
> [Thu Jul 15 08:24:57 2010][29198:3086371680] [info] service::jk_lb_worker.c
> (1384): service failed, worker node1 is in local error state
> [Thu Jul 15 08:24:57 2010][29198:3086371680] [info] service::jk_lb_worker.c
> (1403): unrecoverable error 200, request failed. Client failed in the middle
> of request, we can't recover to another instance.
>
> This error occurs whenever there is a request.
>
> Can somebody please help why this is happening.

What's your operating system?

The error means, that mod_jk wants to send back response packet via 
Apache and Apache told mod_jk that it couldn't send the data to the 
client/browser. Usually that means the connections has been closed by 
the browser.

Occasional occurence of this (e.g. for 1 percent of all requests) is OK, 
because typically it happens, when a user doesn't wait for the full 
answer and instead proceeds clicking. Then the browser closes the 
previous connection, likely with a connection reset, and starts a new 
connection for the next request. The web server doesn't know about the 
closed connection and only when it tries to send the next packet it gets 
an error from the OS, that the connction is already closed.

1) Look at your Apache error log for related errors.

2) Can you reproduce the problem? If so:
    - does it also happen, if you run the client on the same machine as 
the server? Any other depenency on the client network?
    - sniff all network traffic between the Apache port and your client 
used for reproduction (not using the local host in this case). Look 
whether the client actually closed the connection prematurely. If you 
are using HTTP and not HTTPS, then you can easily see from the response 
packets, whether the response was finished or not.

Note: we recently had a customr who observed the same problem. It turned 
out, that indeed reset packets were send to the web erver. Checking the 
MAC addresses revealed, those packets were not coming rom the browser, 
but instead from some other network security device. Thi device decided 
the traffic was malicious and send a reset packet. The traffic was not 
going through the device, it simply sniffed the LAN traffic and inserted 
a reset packet when it thought it would help security ...

Regards,

Rainer

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message