I am not sure the stickiness should be attached to the tc worker. I would rather do it for the the real workers level, that is at appfe[1234].

Consider also

worker.appfe[1234].sticky_session_force = False

for each appfe[1234] worker.

János

On Feb 24, 2009, at 8:47 PM, Mohit Anchlia wrote:

In httpd conf I just see JkMount and no other directive. I searched for Jk.

Here is workers.properties file:
##
worker.list=status,tc

## Worker Configuration##

# All entries in this section take the form:
#       worker.<workername>.<directive>=<value>
# Worker names are defined in the worker.list directive above.


# Configuration specifying the worker named "status" as a status worker.
# This worker can be used to administer the other configured workers.
worker.status.type=status


# Configuration for the default load balancer worker.
# Uncomment the configuration for the "tc"
# worker, and the two "node" workers below to enable.
# Also add "lb" to the workers.list directive
# above.  The default  for the load balancer worker is
# round-robin distribution of requests over
# all active nodes.  There are currently two nodes set
# up for the load balanced worker, add more
# to this list if required.  Sticky sessions is defaulted to true.
worker.tc.type=lb
worker.tc.balance_workers=appfe1,appfe2,appfe3,appfe4
worker.tc.sticky_session=true


# Two load balanced workers, called node1 and node2.
# Copy the configurations and add to the
#       worker.tc.balanced_workers
# list above to add more nodes to the Tomcat cluster.


# appfe1
worker.appfe1.type=ajp13
worker.appfe1.port=8009
worker.appfe1.host=appfe1
worker.appfe1.socket_timeout=5
worker.appfe1.socket_keepalive=true
worker.appfe1.prepost_timeout=5
worker.appfe1.connect_timeout=5000
worker.appfe1.retries=3
worker.appfe1.recycle_timeout=900

# Refererence BHP Apache tuning guide before uncomment the following
line. The unit of reply_timeout is millisecond.
#worker.appfe1.reply_timeout=0

# appfe2
worker.appfe2.type=ajp13
worker.appfe2.port=8009
worker.appfe2.host=appfe2
worker.appfe2.socket_timeout=5
worker.appfe2.socket_keepalive=true
worker.appfe2.prepost_timeout=5
worker.appfe2.connect_timeout=5000
worker.appfe2.retries=3
worker.appfe2.recycle_timeout=900

# Refererence BHP Apache tuning guide before uncomment the following
line. The unit of reply_timeout is millisecond.
#worker.appfe2.reply_timeout=0

# appfe3
worker.appfe3.type=ajp13
worker.appfe3.port=8009
worker.appfe3.host=appfe3
worker.appfe3.socket_timeout=5
worker.appfe3.socket_keepalive=true
worker.appfe3.prepost_timeout=5
worker.appfe3.connect_timeout=5000
worker.appfe3.retries=3
worker.appfe3.recycle_timeout=900

# Refererence BHP Apache tuning guide before uncomment the following
line. The unit of reply_timeout is millisecond.
#worker.appfe3.reply_timeout=0

# appfe4
worker.appfe4.type=ajp13
worker.appfe4.port=8009
worker.appfe4.host=appfe4
worker.appfe4.socket_timeout=5
worker.appfe4.socket_keepalive=true
worker.appfe4.prepost_timeout=5
worker.appfe4.connect_timeout=5000
worker.appfe4.retries=3
worker.appfe4.recycle_timeout=900

# Refererence BHP Apache tuning guide before uncomment the following
line. The unit of reply_timeout is millisecond.
#worker.appfe4.reply_timeout=0

On Tue, Feb 24, 2009 at 4:50 PM, Rainer Jung <rainer.j...@kippdata.de> wrote:
On 25.02.2009 00:00, Mohit Anchlia wrote:

Reposting:

Apache Server - 2.2
Tomcat server 6
Jboss - 4.2

We have Web Servers talking to Jboss App Servers over mod_jk. When we
do our patch or upgrade of software we do it in rolling fashion so
that there is "0" customer impact. But it looks like mod_jk load
balancer on Web server doesn't detect it as soon as Jboss App Server
goes down. Our goal is to have 0 customer impact. So my question is
what can we do to overcome this problem. Web Server sees Http Error
Code 503.

Information from log file:

[Mon Feb 23 13:39:42.146 2009] [31682:4143745888] [error]
ajp_connection_tcp_get_message::jk_ajp_common.c (966): (appfe4) can't
receive the response message from tomcat, network problems or tomcat
(10.10.81.89:8009) is down (errno=104)
[Mon Feb 23 13:39:42.147 2009] [31682:4143745888] [error]
ajp_service::jk_ajp_common.c (2097): (appfe4) Connecting to tomcat
failed. Tomcat is probably not started or is listening on the wrong
port

This means that mod_jk detected that your backend is down and thus puts it into an error state. All following requests will no longer be sent to this backend. Once a minute it will send a request there and try, but as long as it is down this test will not succeed and thus all requests will be sent to
other nodes.

The first request that gets sent to the backend you stopped might get an error back. If you want to prevent that from happening, use Cping/ Cpong:

http://tomcat.apache.org/connectors-doc/generic_howto/timeouts.html

so we will detect the broken node before actually sending a request there. More details are not possible to give without your JK configuration (Jk directive sin httpd configuration files, workers.properties and if used
uriworkermap.properties).

The line number of the above message tells me you are using mod_jk 1.2.25. Although there's nothing wrong in principal with 1.2.25, we always try to
improve and you might consider switching to 1.2.27.

You should also increase your JkLogLevel to info. As long as only occasional
info messages are in your log file everything is fine, but once error
messages show up, the additional info messages contain useful formation.

Regards,

Rainer

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



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


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

Reply via email to