DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG·
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://issues.apache.org/bugzilla/show_bug.cgi?id=34833>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND·
INSERTED IN THE BUG DATABASE.

http://issues.apache.org/bugzilla/show_bug.cgi?id=34833

           Summary: JK connector fails to failover
           Product: Tomcat 5
           Version: Unknown
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: Native:JK
        AssignedTo: tomcat-dev@jakarta.apache.org
        ReportedBy: [EMAIL PROTECTED]


JK 1.2.12 doesn't fail over properly if a server cannot be reached.  This
appears to be a regression--the same scenario works perfectly under 1.2.6.

I have 2 tomcat instances on machines called clemens and feynman.  Apache is
running on Feynman and has a load-balancing workers.properties file.

If I shut off the tomcat server on Feynman, and leave the server running on
clemens, I get the following errors:


[Tue May 10 00:58:33 2005] [info]  jk_open_socket::jk_connect.c (433): connect \
to 127.0.0.1:8009 failed with errno=111
[Tue May 10 00:58:33 2005] [info]  ajp_connect_to_endpoint::jk_ajp_common.c (89\
2): Failed opening socket to (127.0.0.1:8009) with (errno=111)
[Tue May 10 00:58:33 2005] [info]  ajp_send_request::jk_ajp_common.c (1248): Er\
ror connecting to the Tomcat process.
[Tue May 10 00:58:33 2005] [info]  ajp_service::jk_ajp_common.c (1746): Sending\
 request to tomcat failed,  recoverable operation attempt=1
[Tue May 10 00:58:33 2005] [info]  jk_open_socket::jk_connect.c (433): connect \
to 127.0.0.1:8009 failed with errno=111
[Tue May 10 00:58:33 2005] [info]  ajp_connect_to_endpoint::jk_ajp_common.c (89\
2): Failed opening socket to (127.0.0.1:8009) with (errno=111)
[Tue May 10 00:58:33 2005] [info]  ajp_send_request::jk_ajp_common.c (1248): Er\
ror connecting to the Tomcat process.
[Tue May 10 00:58:33 2005] [info]  ajp_service::jk_ajp_common.c (1746): Sending\
 request to tomcat failed,  recoverable operation attempt=2
[Tue May 10 00:58:33 2005] [info]  jk_open_socket::jk_connect.c (433): connect \
to 127.0.0.1:8009 failed with errno=111
[Tue May 10 00:58:33 2005] [info]  ajp_connect_to_endpoint::jk_ajp_common.c (89\
2): Failed opening socket to (127.0.0.1:8009) with (errno=111)
[Tue May 10 00:58:33 2005] [info]  ajp_send_request::jk_ajp_common.c (1248): Er\
ror connecting to the Tomcat process.
[Tue May 10 00:58:33 2005] [info]  ajp_service::jk_ajp_common.c (1746): Sending\
 request to tomcat failed,  recoverable operation attempt=3
[Tue May 10 00:58:33 2005] [error] ajp_service::jk_ajp_common.c (1755): Error c\
onnecting to tomcat. Tomcat is probably not started or is listening on the wron\
g port. worker=feynman failed
[Tue May 10 00:58:33 2005] [error] service::jk_lb_worker.c (632): unrecoverable\
 error 503, request failed. Tomcat failed in the middle of request, we can't re\
cover to another instance.


The diagnostics are incorrect.  Tomcat could not have failed "in the middle of
request," because that server was never reachable in the first place.  There's
something wrong in the logic here.

The log file never shows JK attempting to fail over to the other (perfectly
working) tomcat instance in this case.  The other server handles requests fine
during this time--it's just never contacted.

Load balancing file attached below:

# Define the load-balancing router
worker.list=router

# Configure the router
worker.router.type=lb
worker.router.balanced_workers=clemens,feynman
#worker.router.balance_workers=clemens,feynman
worker.router.local_worker_only=0

# Set properties for clemens (ajp13)
worker.clemens.type=ajp13
worker.clemens.host=clemens
worker.clemens.port=8009
worker.clemens.lbfactor=80
#worker.clemens.cachesize=10
worker.clemens.cache_timeout=300
worker.clemens.socket_keepalive=0
worker.clemens.socket_timeout=100
worker.clemens.local_worker=0

# Set properties for feynman (ajp13)
worker.feynman.type=ajp13
worker.feynman.host=feynman
worker.feynman.port=8009
worker.feynman.lbfactor=300
#worker.feynman.cachesize=10
worker.feynman.cache_timeout=300
worker.feynman.socket_keepalive=0
worker.feynman.socket_timeout=100
worker.feynman.local_worker=1


Again, reverting to 1.2.6 works perfectly.

-- 
Configure bugmail: http://issues.apache.org/bugzilla/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug, or are watching the assignee.

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to