Re: Mod_jk error

2014-01-13 Thread Alex Lucard
Thank you so much i have it working now i had to change the httpd.com from
JkMount /Hello/*loadbalancer1
To
JkMount /Hello*workspace1
On Jan 12, 2014 9:31 PM, 侯树成 chain...@gmail.com wrote:

 Hi, Alex
 What is your mod_jk.conf file that used for mod_jk configuration.

 You can config it as blow:
 LoadModule jk_module modules/mod_jk.so
 JkWorkersFile  conf/workers.properties
 JkLogFile logs/mod_jk.log
 JkLogLevel error
 JkLogStampFormat [%a %b %d %H:%M:%S %Y]
 JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
 JkMount /test_status mystatus
 JkMount /hello*loadbalancer1

 or Just as your configuration now, but add the JkMount to http.conf. The
 JkMount /hello* loadbalancer1 will send all request start with hello  to
 loadbalancer1

 Hope to help you.


 2014/1/11 Mark Eggers its_toas...@yahoo.com

  On 1/10/2014 2:53 PM, Alex Lucard wrote:
 
  .
  On Jan 10, 2014 5:00 PM, Alex Lucard priest.luc...@gmail.com wrote:
 
   I am running CentOS 6.5 and tomcat 7
  I cannot get the mod_jk to work
  I have a JSP page on this server and if you go to localhost:8080/Hello
 it
  will work but if I just go to localhost/Hello The requested URL /Hello
  was
  not found on this server.
 
  I have apache2 and tomcat 7 install both work.
  Here is the part I added to the httpd.conf file
 
  # Load the mod_jk module.
  LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so
  JkWorkersFile /etc/httpd/conf/workers.properties
  jkLogFile /var/log/mod_jk.log
  JkLogLevellevel
  JkLogStampFormat [%a %b %d %H:%M:%S %Y] 
 
  My workers.properties file at /etc/httpd/conf/workers.properties
  worker.list=worker1
  worker.worker1.type=ajp13
  worker.worker1.port=8009
  worker.worker1.host=localhost
  #worker.worker1.lbfactor=1
 
 
  My error log file /var/log/mod_jk.log
  [Fri Jan 10 15:19:22 2014] [1854:140509786134496] [info]
  init_jk::mod_jk.c
  (3365): mod_jk/1.2.37 initialized
  [Fri Jan 10 15:19:23 2014] [1855:140509786134496] [error]
  ajp_validate::jk_ajp_common.c (2696): worker worker1 can't resolve
 tomcat
  address localhost
  [Fri Jan 10 15:19:23 2014] [1855:140509786134496] [info]
  init_jk::mod_jk.c
  (3365): mod_jk/1.2.37 initialized
 
 
 
  What happens when you type the following from the command line:
 
  dig localhost
 
  As a workaround, replace localhost with 127.0.0.1.
 
  . . . . just my two cents
  /mde/
 
  -
  To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
  For additional commands, e-mail: users-h...@tomcat.apache.org
 
 



Re: Mod_jk error

2014-01-12 Thread 侯树成
Hi, Alex
What is your mod_jk.conf file that used for mod_jk configuration.

You can config it as blow:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile  conf/workers.properties
JkLogFile logs/mod_jk.log
JkLogLevel error
JkLogStampFormat [%a %b %d %H:%M:%S %Y]
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
JkMount /test_status mystatus
JkMount /hello*loadbalancer1

or Just as your configuration now, but add the JkMount to http.conf. The
JkMount /hello* loadbalancer1 will send all request start with hello  to
loadbalancer1

Hope to help you.


2014/1/11 Mark Eggers its_toas...@yahoo.com

 On 1/10/2014 2:53 PM, Alex Lucard wrote:

 .
 On Jan 10, 2014 5:00 PM, Alex Lucard priest.luc...@gmail.com wrote:

  I am running CentOS 6.5 and tomcat 7
 I cannot get the mod_jk to work
 I have a JSP page on this server and if you go to localhost:8080/Hello it
 will work but if I just go to localhost/Hello The requested URL /Hello
 was
 not found on this server.

 I have apache2 and tomcat 7 install both work.
 Here is the part I added to the httpd.conf file

 # Load the mod_jk module.
 LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so
 JkWorkersFile /etc/httpd/conf/workers.properties
 jkLogFile /var/log/mod_jk.log
 JkLogLevellevel
 JkLogStampFormat [%a %b %d %H:%M:%S %Y] 

 My workers.properties file at /etc/httpd/conf/workers.properties
 worker.list=worker1
 worker.worker1.type=ajp13
 worker.worker1.port=8009
 worker.worker1.host=localhost
 #worker.worker1.lbfactor=1


 My error log file /var/log/mod_jk.log
 [Fri Jan 10 15:19:22 2014] [1854:140509786134496] [info]
 init_jk::mod_jk.c
 (3365): mod_jk/1.2.37 initialized
 [Fri Jan 10 15:19:23 2014] [1855:140509786134496] [error]
 ajp_validate::jk_ajp_common.c (2696): worker worker1 can't resolve tomcat
 address localhost
 [Fri Jan 10 15:19:23 2014] [1855:140509786134496] [info]
 init_jk::mod_jk.c
 (3365): mod_jk/1.2.37 initialized



 What happens when you type the following from the command line:

 dig localhost

 As a workaround, replace localhost with 127.0.0.1.

 . . . . just my two cents
 /mde/

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




Re: Mod_jk error

2014-01-10 Thread Mark Eggers

On 1/10/2014 2:53 PM, Alex Lucard wrote:

.
On Jan 10, 2014 5:00 PM, Alex Lucard priest.luc...@gmail.com wrote:


I am running CentOS 6.5 and tomcat 7
I cannot get the mod_jk to work
I have a JSP page on this server and if you go to localhost:8080/Hello it
will work but if I just go to localhost/Hello The requested URL /Hello was
not found on this server.

I have apache2 and tomcat 7 install both work.
Here is the part I added to the httpd.conf file

# Load the mod_jk module.
LoadModule jk_module /usr/lib64/httpd/modules/mod_jk.so
JkWorkersFile /etc/httpd/conf/workers.properties
jkLogFile /var/log/mod_jk.log
JkLogLevellevel
JkLogStampFormat [%a %b %d %H:%M:%S %Y] 

My workers.properties file at /etc/httpd/conf/workers.properties
worker.list=worker1
worker.worker1.type=ajp13
worker.worker1.port=8009
worker.worker1.host=localhost
#worker.worker1.lbfactor=1


My error log file /var/log/mod_jk.log
[Fri Jan 10 15:19:22 2014] [1854:140509786134496] [info] init_jk::mod_jk.c
(3365): mod_jk/1.2.37 initialized
[Fri Jan 10 15:19:23 2014] [1855:140509786134496] [error]
ajp_validate::jk_ajp_common.c (2696): worker worker1 can't resolve tomcat
address localhost
[Fri Jan 10 15:19:23 2014] [1855:140509786134496] [info] init_jk::mod_jk.c
(3365): mod_jk/1.2.37 initialized





What happens when you type the following from the command line:

dig localhost

As a workaround, replace localhost with 127.0.0.1.

. . . . just my two cents
/mde/

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



Re: Mod_jk error

2007-07-26 Thread Filip Hanik - Dev Lists

also solves your problem

+JkDisableReuse

in httpd.conf

Filip


Rainer Jung wrote:

André Vila Cova wrote:

Red Hat Enterprise Linux AS release 4 (Nahant Update 5)

Release :  Jakarta-Tomcat 5.5.20

Modulo nativo APR:  tomcat-connectors-1.2.20

JVM versão. : Sun JVM1.5.0_11

I think that apache web server don't receive response from tomcat and 
don't
send final ack to tomcat and tomcat don't free threads.I see every 
logs from

oracle executions and duration of TOP SQL is very low.
I made test using the same architecture without firewall and everything
works fine. Tomcat free threads and send complete response to web 
server.


If your analysis is correct, it's a known problem, that firewalls 
often drop idle connections, so mod_jk and Tomcat should both be 
configured to shut down idle connections. On the Tomcat side you 
should use the attribute connectionTimeout in the configuration of 
your AJP Connector in server.xml. The units are in milliseconds, so 10 
Minutes would be 60. On the mod_jk side you should use 
connection_pool_timeout, units are seconds, so 10 minutes are 600.


We have a new docs page about these things, which will go live next 
week with our 1.2.24 release. There is a preview for the page under


http://people.apache.org/~rjung/mod_jk-dev/docs/generic_howto/timeouts.html 



The next release 1.2.24 will some improvements for this situation, but 
you would still need the timeouts on bith ends.


For a plausibility check, if this really is your problem, you could 
compare netstat -an (only the lines corresponding to your Tomcat AJP 
port) on the Apache and on the Tomcat side, and also check with the 
JVM Thread Dump (kill -QUIT to Tomcat; it will not die, but write a 
list of all threads with a stack for each of them to catalina.out). If 
the firewall dropped the connections, most likely the two netstat 
outputs will show an inconsistent state for the connections. Tomcat 
threads, which sit listening on an idle connection will be shown in 
the thread dump as reading from the socket.


Regards,

Rainer


Thanks.



On 7/26/07, Rainer Jung [EMAIL PROTECTED] wrote:


Hi,

you didn't give us your versions, you platform or any configuration 
info.


André Vila Cova wrote:
 Hello!

 Apache mod_jk returns following error (frequently...):

 [Thu Jul 26 11:07:52 2007] [2703:1120] [error]
 ajp_connection_tcp_get_message::jk_ajp_common.c (948): (app02_aol) 
can't
 receive the response message from tomcat, network problems or 
tomcat is

 down
 (192.168.40.11:8007), err=-104
 [Thu Jul 26 11:07:52 2007] [2703:1120] [error]
 ajp_get_reply::jk_ajp_common.c (1566): (app02_aol) Tomcat is down or
 refused
 connection. No response has been sent to the client (yet)


The 104 is the errno of your local platform. For Linux 104 is
Connection reset by peer.

 We have two firewalls between Apache Web Server and Tomcat Web , 
but we

 didn't see nothing wrong in firewalls logs.

 Response appear on browser, but seems that no ack flag arrives to
webserver
 to finish request. Tomcat crashs with error All threads (400) are
currently
 *busy*, waiting. Increase *maxThreads* (400) or check the servlet
status.

The above log entry is for only a single request. You write that the
response actually goes back to the browser, but I guess you mean most
of the requests, or are you sure that this single request produced a
response?

No idea, what you mean by crash? If this message appears, it means,
that all the threads you have configured in you thread pool of the
tomcat connector are busy by running a request. Since you configured 
400
threads max, this might actually mean, that something is to slow in 
your

app or in some backend your app is using, so the requests take to long
and the system becomes congested. In this situation take a java thread
dump to check, what those 400 threads are actually doing.

 Is it a configuration problem? May I setup some parameter to resolve
 problem?

If only we knew your configuration ...

Regards,

Rainer


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]






-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Mod_jk error

2007-07-26 Thread Rainer Jung

André Vila Cova wrote:

Red Hat Enterprise Linux AS release 4 (Nahant Update 5)

Release :  Jakarta-Tomcat 5.5.20

Modulo nativo APR:  tomcat-connectors-1.2.20

JVM versão. : Sun JVM1.5.0_11

I think that apache web server don't receive response from tomcat and don't
send final ack to tomcat and tomcat don't free threads.I see every logs 
from

oracle executions and duration of TOP SQL is very low.
I made test using the same architecture without firewall and everything
works fine. Tomcat free threads and send complete response to web server.


If your analysis is correct, it's a known problem, that firewalls often 
drop idle connections, so mod_jk and Tomcat should both be configured to 
shut down idle connections. On the Tomcat side you should use the 
attribute connectionTimeout in the configuration of your AJP Connector 
in server.xml. The units are in milliseconds, so 10 Minutes would be 
60. On the mod_jk side you should use connection_pool_timeout, units 
are seconds, so 10 minutes are 600.


We have a new docs page about these things, which will go live next week 
with our 1.2.24 release. There is a preview for the page under


http://people.apache.org/~rjung/mod_jk-dev/docs/generic_howto/timeouts.html

The next release 1.2.24 will some improvements for this situation, but 
you would still need the timeouts on bith ends.


For a plausibility check, if this really is your problem, you could 
compare netstat -an (only the lines corresponding to your Tomcat AJP 
port) on the Apache and on the Tomcat side, and also check with the JVM 
Thread Dump (kill -QUIT to Tomcat; it will not die, but write a list of 
all threads with a stack for each of them to catalina.out). If the 
firewall dropped the connections, most likely the two netstat outputs 
will show an inconsistent state for the connections. Tomcat threads, 
which sit listening on an idle connection will be shown in the thread 
dump as reading from the socket.


Regards,

Rainer


Thanks.



On 7/26/07, Rainer Jung [EMAIL PROTECTED] wrote:


Hi,

you didn't give us your versions, you platform or any configuration info.

André Vila Cova wrote:
 Hello!

 Apache mod_jk returns following error (frequently...):

 [Thu Jul 26 11:07:52 2007] [2703:1120] [error]
 ajp_connection_tcp_get_message::jk_ajp_common.c (948): (app02_aol) 
can't

 receive the response message from tomcat, network problems or tomcat is
 down
 (192.168.40.11:8007), err=-104
 [Thu Jul 26 11:07:52 2007] [2703:1120] [error]
 ajp_get_reply::jk_ajp_common.c (1566): (app02_aol) Tomcat is down or
 refused
 connection. No response has been sent to the client (yet)


The 104 is the errno of your local platform. For Linux 104 is
Connection reset by peer.

 We have two firewalls between Apache Web Server and Tomcat Web , but we
 didn't see nothing wrong in firewalls logs.

 Response appear on browser, but seems that no ack flag arrives to
webserver
 to finish request. Tomcat crashs with error All threads (400) are
currently
 *busy*, waiting. Increase *maxThreads* (400) or check the servlet
status.

The above log entry is for only a single request. You write that the
response actually goes back to the browser, but I guess you mean most
of the requests, or are you sure that this single request produced a
response?

No idea, what you mean by crash? If this message appears, it means,
that all the threads you have configured in you thread pool of the
tomcat connector are busy by running a request. Since you configured 400
threads max, this might actually mean, that something is to slow in your
app or in some backend your app is using, so the requests take to long
and the system becomes congested. In this situation take a java thread
dump to check, what those 400 threads are actually doing.

 Is it a configuration problem? May I setup some parameter to resolve
 problem?

If only we knew your configuration ...

Regards,

Rainer


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: Mod_jk error

2007-07-26 Thread André Vila Cova

Red Hat Enterprise Linux AS release 4 (Nahant Update 5)

Release :  Jakarta-Tomcat 5.5.20

Modulo nativo APR:  tomcat-connectors-1.2.20

JVM versão. : Sun JVM1.5.0_11

I think that apache web server don't receive response from tomcat and don't
send final ack to tomcat and tomcat don't free threads.I see every logs from
oracle executions and duration of TOP SQL is very low.
I made test using the same architecture without firewall and everything
works fine. Tomcat free threads and send complete response to web server.

Thanks.



On 7/26/07, Rainer Jung [EMAIL PROTECTED] wrote:


Hi,

you didn't give us your versions, you platform or any configuration info.

André Vila Cova wrote:
 Hello!

 Apache mod_jk returns following error (frequently...):

 [Thu Jul 26 11:07:52 2007] [2703:1120] [error]
 ajp_connection_tcp_get_message::jk_ajp_common.c (948): (app02_aol) can't
 receive the response message from tomcat, network problems or tomcat is
 down
 (192.168.40.11:8007), err=-104
 [Thu Jul 26 11:07:52 2007] [2703:1120] [error]
 ajp_get_reply::jk_ajp_common.c (1566): (app02_aol) Tomcat is down or
 refused
 connection. No response has been sent to the client (yet)


The 104 is the errno of your local platform. For Linux 104 is
Connection reset by peer.

 We have two firewalls between Apache Web Server and Tomcat Web , but we
 didn't see nothing wrong in firewalls logs.

 Response appear on browser, but seems that no ack flag arrives to
webserver
 to finish request. Tomcat crashs with error All threads (400) are
currently
 *busy*, waiting. Increase *maxThreads* (400) or check the servlet
status.

The above log entry is for only a single request. You write that the
response actually goes back to the browser, but I guess you mean most
of the requests, or are you sure that this single request produced a
response?

No idea, what you mean by crash? If this message appears, it means,
that all the threads you have configured in you thread pool of the
tomcat connector are busy by running a request. Since you configured 400
threads max, this might actually mean, that something is to slow in your
app or in some backend your app is using, so the requests take to long
and the system becomes congested. In this situation take a java thread
dump to check, what those 400 threads are actually doing.

 Is it a configuration problem? May I setup some parameter to resolve
 problem?

If only we knew your configuration ...

Regards,

Rainer

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]




Re: Mod_jk error

2007-07-26 Thread Rainer Jung

Hi,

you didn't give us your versions, you platform or any configuration info.

André Vila Cova wrote:
 Hello!

 Apache mod_jk returns following error (frequently...):

 [Thu Jul 26 11:07:52 2007] [2703:1120] [error]
 ajp_connection_tcp_get_message::jk_ajp_common.c (948): (app02_aol) can't
 receive the response message from tomcat, network problems or tomcat is
 down
 (192.168.40.11:8007), err=-104
 [Thu Jul 26 11:07:52 2007] [2703:1120] [error]
 ajp_get_reply::jk_ajp_common.c (1566): (app02_aol) Tomcat is down or
 refused
 connection. No response has been sent to the client (yet)


The 104 is the errno of your local platform. For Linux 104 is 
Connection reset by peer.



We have two firewalls between Apache Web Server and Tomcat Web , but we
didn't see nothing wrong in firewalls logs.



Response appear on browser, but seems that no ack flag arrives to webserver
to finish request. Tomcat crashs with error All threads (400) are currently
*busy*, waiting. Increase *maxThreads* (400) or check the servlet status.


The above log entry is for only a single request. You write that the 
response actually goes back to the browser, but I guess you mean most 
of the requests, or are you sure that this single request produced a 
response?


No idea, what you mean by crash? If this message appears, it means, 
that all the threads you have configured in you thread pool of the 
tomcat connector are busy by running a request. Since you configured 400 
threads max, this might actually mean, that something is to slow in your 
app or in some backend your app is using, so the requests take to long 
and the system becomes congested. In this situation take a java thread 
dump to check, what those 400 threads are actually doing.



Is it a configuration problem? May I setup some parameter to resolve
problem?


If only we knew your configuration ...

Regards,

Rainer

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk error detection

2007-07-25 Thread Rainer Jung

Hi,

good questions. First of all: I just today wrote a new docs page about 
timeouts. We are soon releasing 1.2.24 which contains this page. You can 
already look at it under


http://people.apache.org/~rjung/mod_jk-dev/docs/

(The new page is named Timeouts and part of the group Generic Howtos.

Also the new docs contain a better explanation, what retries means, 
especially the huge difference between retries for an lb worker and a 
usual worker. This info is on the updated workers.properties page in the 
reference guide.



With these settings how could I expect the connector to behave if:

1.  Tomcat dies and the port is no longer listening resulting in an
immediate icmp response.


I would expect, that any attempt to use an existing connection or to 
open a new one immediately returns with an error, because the remote 
machine rejects the communication. Further JK behaviour is now depending 
if you are using a load balancer or not. Se retries etc. in the updated 
docs.



2.  The box hosting tomcat dies or the tcp stack for whatever reason
tanks resulting in no immediate icmp response.


As long as your local system or the last router still has an arp entry 
for the died machine, you will run into very long TCP timeouts. We 
recommend CPing/CPong, see the new Timeouts page.



3.  The connector does make a successful connection to the backend
tomcat worker only to have that worker become slow and almost
unresponsive.


You should use CPing/CPong and reply timeouts. See again the new 
Timeouts page. If you don't use an lb, the best you can do is throwing 
an error early, such that the rest of the infrastructure doesnt get 
congested.



Are there more directives I should be concerned with?  Currently, I have
no intentions on monitoring the http response status codes to detect
errors.


Look at the new page and look at the workers.properties page of the 
reference guide. Use a load balancing worker, set recovery_options etc.


HTH.

Regards,

Rainer

P.S.: If you have suggestions how to improve the new page: it's not 
public yet. If you are fast enough, we can include those changes.


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk error detection

2007-07-25 Thread Scott McClanahan
On Wed, 2007-07-25 at 17:00 +0200, Rainer Jung wrote:
 Hi,
 
 good questions. First of all: I just today wrote a new docs page about 
 timeouts. We are soon releasing 1.2.24 which contains this page. You can 
 already look at it under
 
 http://people.apache.org/~rjung/mod_jk-dev/docs/
 
 (The new page is named Timeouts and part of the group Generic Howtos.
 
 Also the new docs contain a better explanation, what retries means, 
 especially the huge difference between retries for an lb worker and a 
 usual worker. This info is on the updated workers.properties page in the 
 reference guide.
 
  With these settings how could I expect the connector to behave if:
  
  1.  Tomcat dies and the port is no longer listening resulting in an
  immediate icmp response.
 
 I would expect, that any attempt to use an existing connection or to 
 open a new one immediately returns with an error, because the remote 
 machine rejects the communication. Further JK behaviour is now depending 
 if you are using a load balancer or not. Se retries etc. in the updated 
 docs.
 
  2.  The box hosting tomcat dies or the tcp stack for whatever reason
  tanks resulting in no immediate icmp response.
 
 As long as your local system or the last router still has an arp entry 
 for the died machine, you will run into very long TCP timeouts. We 
 recommend CPing/CPong, see the new Timeouts page.
 
  3.  The connector does make a successful connection to the backend
  tomcat worker only to have that worker become slow and almost
  unresponsive.
 
 You should use CPing/CPong and reply timeouts. See again the new 
 Timeouts page. If you don't use an lb, the best you can do is throwing 
 an error early, such that the rest of the infrastructure doesnt get 
 congested.
 
  Are there more directives I should be concerned with?  Currently, I have
  no intentions on monitoring the http response status codes to detect
  errors.
 
 Look at the new page and look at the workers.properties page of the 
 reference guide. Use a load balancing worker, set recovery_options etc.
 
 HTH.
 
 Regards,
 
 Rainer
 
 P.S.: If you have suggestions how to improve the new page: it's not 
 public yet. If you are fast enough, we can include those changes.
 
 -
 To start a new topic, e-mail: users@tomcat.apache.org
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 

Thanks I'll be reading up this afternoon and posting comments.


-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk error detection

2007-07-25 Thread Rainer Jung

Hi Scott,


I thoroughly enjoyed the updated docs.  It is just what I needed.  I
just want to mention a few inferences I have now from reading it.


Thanks.


In a load balanced setup using connect_timeout and prepost_timeout, this
will protect me from sending either newly established connections (rare
event due to persistence) as well as each and every individual request
from being sent to a failed tomcat node based on CPING/CPONG messages.
These messages only detect whether or not the container (I'm using
tomcat) is healthy enough to respond to such a message but not
necessarily anything more, correct?  Basically, its ajp listener is
responsive.  Plus, if I need more high speed error detection I can use


That's correct.


reply_timeout.  Sound correct?


That one, reply_timeout, is not really meant for high speed detection. 
Usually you've got an ap, that every now and then needs 10 or 20 seconds 
for an answer and you don't like to disable a worker automatically 
because of those rare events. So normally one sets reply_timeout to 1, 2 
or 3 minutes.


Now with the new max_reply_timeouts one can experiment with lower 
values. It's new, so not enough experience for good suggestions.



I get confused on the recovery_options section.  How does it work in a
load balanced environment?  If tomcat receives a request and processes
some of it followed by a catastrophic failure before completing the
response, what exactly does a repeated request from the client do?
Assuming recovery_options is set to 0.


Value 0 means, if you don't get any part of the answer and an error 
occurs (network, reply_timeout, ...) then send the same request again to 
another member of the load balancer (if a working member is remaining).


That's why you usualy really want to not use value 0 in case your app 
has data changing use cases. Most apps have.


If you use REST principles and HEAD and GET is always idempotent for 
your app, the new (version 1.2.24) bits 8 and 16 are your friend!



Also, I get confused with the section describing the retries directive.
In a load balanced environment, would the connector retry no matter the
state (tcp state here) of the connection whether it be established
already?  Would it retry against the same backend tomcat server?  The
reason I ask is because the docs say If the load balancer can not get a
free connection for a member worker from the pool, it will try again a
number of times given by retries. I highlighted the words that confuse
me.


We have to strongly make a difference between retries of a non-lb worker 
and of a load balancer worker. A normal worker has a simple retry 
procedure, independant of the fact, if it is used directly or as part of 
an lb. If it detects an error it uses another pool connection and by 
default tries once more.


An lb has another idea of retries. It uses retries if all connections to 
a backend are busy. For Apache with default config, this should never 
happen, because we allow as many connections as threads per process. So 
any request should be able to get a connection without waiting (maybe it 
needs to start a new one). For the other web servers we don't have a 
good way to detect the correct pool size. In some cases even for 
Apache it might be interesting to use a smaler pool size, in case the 
backend is only used occasionally and/or you want to prevent it from 
getting flodded in case of congestion. Then you might run out of 
available connections and requests will have to wait. LB retries 
configure this waiting.



Every 60 seconds would we expect the connector to attempt to send a
valid request to a backend tomcat and fail or once a worker goes into
error state do we only check with CPING/CPONG requests during the
maintenance cycle?


The maintenance uses a real request and handles it as if the backend 
wouldn't have failed. If you enabled CPing/CPong this means, that it 
would detect a still broken backend early and transparently send the 
request to another member. Because no part of the request (the CPing 
doesn't count) already has been send, the failover to another member 
happens independently of recovery_options (i.e. even with 
recovery_options 3).


If you like to improve the page about load balancing or the timeouts 
page, or you want to add some parts about retries and recovery: 
contributions are welcome.


Regards,

Rainer

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk error detection

2007-07-25 Thread Scott McClanahan
Thanks, so much! I'd like to continue this thread a bit more because of
helpful I think it will be for everyone using mod_jk.

On Wed, 2007-07-25 at 22:00 +0200, Rainer Jung wrote:
 Hi Scott,
 
  I thoroughly enjoyed the updated docs.  It is just what I needed.  I
  just want to mention a few inferences I have now from reading it.
 
 Thanks.
 
  In a load balanced setup using connect_timeout and prepost_timeout, this
  will protect me from sending either newly established connections (rare
  event due to persistence) as well as each and every individual request
  from being sent to a failed tomcat node based on CPING/CPONG messages.
  These messages only detect whether or not the container (I'm using
  tomcat) is healthy enough to respond to such a message but not
  necessarily anything more, correct?  Basically, its ajp listener is
  responsive.  Plus, if I need more high speed error detection I can use
 
 That's correct.
 
  reply_timeout.  Sound correct?
 
 That one, reply_timeout, is not really meant for high speed detection. 
 Usually you've got an ap, that every now and then needs 10 or 20 seconds 
 for an answer and you don't like to disable a worker automatically 
 because of those rare events. So normally one sets reply_timeout to 1, 2 
 or 3 minutes.

I don't understand what besides a timed out CPING/CPONG message would
render a backend tomcat disabled, especially in a default config since
reply_timeout is 0.

 
 Now with the new max_reply_timeouts one can experiment with lower 
 values. It's new, so not enough experience for good suggestions.
 
  I get confused on the recovery_options section.  How does it work in a
  load balanced environment?  If tomcat receives a request and processes
  some of it followed by a catastrophic failure before completing the
  response, what exactly does a repeated request from the client do?
  Assuming recovery_options is set to 0.
 
 Value 0 means, if you don't get any part of the answer and an error 
 occurs (network, reply_timeout, ...) then send the same request again to 
 another member of the load balancer (if a working member is remaining).
 
 That's why you usualy really want to not use value 0 in case your app 
 has data changing use cases. Most apps have.
 
 If you use REST principles and HEAD and GET is always idempotent for 
 your app, the new (version 1.2.24) bits 8 and 16 are your friend!
 
  Also, I get confused with the section describing the retries directive.
  In a load balanced environment, would the connector retry no matter the
  state (tcp state here) of the connection whether it be established
  already?  Would it retry against the same backend tomcat server?  The
  reason I ask is because the docs say If the load balancer can not get a
  free connection for a member worker from the pool, it will try again a
  number of times given by retries. I highlighted the words that confuse
  me.
 
 We have to strongly make a difference between retries of a non-lb worker 
 and of a load balancer worker. A normal worker has a simple retry 
 procedure, independant of the fact, if it is used directly or as part of 
 an lb. If it detects an error it uses another pool connection and by 
 default tries once more.

If that happens does the real worker officially change to an error state
which would subsequently kick off the retry logic of the load balancer
worker?

 
 An lb has another idea of retries. It uses retries if all connections to 
 a backend are busy. For Apache with default config, this should never 
 happen, because we allow as many connections as threads per process. So 
 any request should be able to get a connection without waiting (maybe it 
 needs to start a new one). For the other web servers we don't have a 
 good way to detect the correct pool size. In some cases even for 
 Apache it might be interesting to use a smaler pool size, in case the 
 backend is only used occasionally and/or you want to prevent it from 
 getting flodded in case of congestion. Then you might run out of 
 available connections and requests will have to wait. LB retries 
 configure this waiting.
 
  Every 60 seconds would we expect the connector to attempt to send a
  valid request to a backend tomcat and fail or once a worker goes into
  error state do we only check with CPING/CPONG requests during the
  maintenance cycle?
 
 The maintenance uses a real request and handles it as if the backend 
 wouldn't have failed. If you enabled CPing/CPong this means, that it 
 would detect a still broken backend early and transparently send the 
 request to another member. Because no part of the request (the CPing 
 doesn't count) already has been send, the failover to another member 
 happens independently of recovery_options (i.e. even with 
 recovery_options 3).

Is the request used to test the health of the backend tomcat whichever
one comes first after a global maintenance run even if it has been
previously serviced by another healthy tomcat?  Is this request attempt

Re: mod_jk error detection

2007-07-25 Thread Scott McClanahan
On Wed, 2007-07-25 at 22:40 +0200, Rainer Jung wrote:
 Scott McClanahan wrote:
  Thanks, so much! I'd like to continue this thread a bit more because of
  helpful I think it will be for everyone using mod_jk.
  
  That one, reply_timeout, is not really meant for high speed detection. 
  Usually you've got an ap, that every now and then needs 10 or 20 seconds 
  for an answer and you don't like to disable a worker automatically 
  because of those rare events. So normally one sets reply_timeout to 1, 2 
  or 3 minutes.
  
  I don't understand what besides a timed out CPING/CPONG message would
  render a backend tomcat disabled, especially in a default config since
  reply_timeout is 0.
 
 Default config: no CPing/CPong. But: after some time the TCP stack will 
 give up, when there is a network problem, or the backend is no longer 
 listening. So this case will even be handled in a default config, but 
 depending on the exact network situation, the error detection might take 
 a long time.
 
 n case your backend simply eats your requests, but doesn't produce 
 answers, you will very fast eat up all connections and threads and the 
 whole system will hang - without configured timeouts.

I see your point.  I was thinking only within the context of mod_jk.
Meaning what in mod_jk other than CPING/CPONG message failures would
cause a worker to go into error state.  You answered that.

 
 BTW: there is also a non-default config to make a worker fail on several 
 received HTTP status codes, fail_on_status.
 
  We have to strongly make a difference between retries of a non-lb worker 
  and of a load balancer worker. A normal worker has a simple retry 
  procedure, independant of the fact, if it is used directly or as part of 
  an lb. If it detects an error it uses another pool connection and by 
  default tries once more.
  
  If that happens does the real worker officially change to an error state
  which would subsequently kick off the retry logic of the load balancer
  worker?
 
 Without an lb a worker does not have an error state. It will be 
 continuously reused. Only an lb uses error states and temporarily 
 disables a failed worker. Even an lb will continuously reuse a worker, 
 if there is no other worker to failover.

I understand this bit now finally too.  It was a really good idea to
have the CPING/CPONG message timeout checks before individual requests
get forwarded to avoid several different problem scenarios here.  Good
thinking.

 
  The maintenance uses a real request and handles it as if the backend 
  wouldn't have failed. If you enabled CPing/CPong this means, that it 
  would detect a still broken backend early and transparently send the 
  request to another member. Because no part of the request (the CPing 
  doesn't count) already has been send, the failover to another member 
  happens independently of recovery_options (i.e. even with 
  recovery_options 3).
  
  Is the request used to test the health of the backend tomcat whichever
  one comes first after a global maintenance run even if it has been
  previously serviced by another healthy tomcat?  Is this request attempt
  to a once errant worker only to test its healthiness and not to actually
  have it fulfill the request?  I would hope it is only to test the health
  of the backend tomcat and even if it is now willing to accept
  connections, the request goes to whatever tomcat has been previously and
  successfully responding to the session.
 
 No, the first new request accepted by the web server and mapped to the 
 lb will be used (at least if it is free to be routed to any worker. If 
 the request belongs to a session located on another backend and the 
 default config with sticky sessions is active, it will of course be send 
 to its correct backend). It is a real user request. If the backend 
 works, OK. If it doesn't accept the request, we can still send it to 
 some other worker. If the backend accepts the requests, but processing 
 fails, depending on recovery_options the user gets an error.

Sounds great too.

 
  If you like to improve the page about load balancing or the timeouts 
  page, or you want to add some parts about retries and recovery: 
  contributions are welcome.
  
  After, we are done discussing I might have some recommendations.  Again,
  you've been great.
 
 Thanks. At least we improve the knowledge inside the mailing list archive.

One obvious thing that confuses me and could be changed is the Advanced
worker directives table.  It includes directives that are applicable to
both load balancer workers and real workers and only distinguishes which
directives are used for which worker when it is to be used for a load
balancer worker.  Does that mean the others are usable directives for
both real workers and load balancer workers or just real workers or in
some cases both.

I believe I know the answer to that but it somewhat misleading.

 
 Regards,
 
 Rainer
 
 

Re: mod_jk error detection

2007-07-25 Thread Rainer Jung

One obvious thing that confuses me and could be changed is the Advanced
worker directives table.  It includes directives that are applicable to
both load balancer workers and real workers and only distinguishes which
directives are used for which worker when it is to be used for a load
balancer worker.  Does that mean the others are usable directives for
both real workers and load balancer workers or just real workers or in
some cases both.

I believe I know the answer to that but it somewhat misleading.


You are right, this needs a little forward before the table. At the 
moment we note Only used for load balancer workers., Only used for a 
member worker of a load balancer. or This attribute can be used for 
normal workers and for load balancer workers.. In fact we would need to 
mark, if an attribute is useful


LB) for an lb worker
N) for a non lb worker (normal worker, mostly synonymous with ajp13)
M) for an lb member worker

X) for a worker in the worker list (worker.list)

An attribute might apply to some or combinations of LB) to M) and an 
optional and with X.


I also think, that our advanced category is more historically 
motivated, so we should check, if some attributes should change their group.


Have fun using mod_jk!

Regards,

Rainer

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk error detection

2007-07-25 Thread Rainer Jung

Scott McClanahan wrote:

Thanks, so much! I'd like to continue this thread a bit more because of
helpful I think it will be for everyone using mod_jk.

That one, reply_timeout, is not really meant for high speed detection. 
Usually you've got an ap, that every now and then needs 10 or 20 seconds 
for an answer and you don't like to disable a worker automatically 
because of those rare events. So normally one sets reply_timeout to 1, 2 
or 3 minutes.


I don't understand what besides a timed out CPING/CPONG message would
render a backend tomcat disabled, especially in a default config since
reply_timeout is 0.


Default config: no CPing/CPong. But: after some time the TCP stack will 
give up, when there is a network problem, or the backend is no longer 
listening. So this case will even be handled in a default config, but 
depending on the exact network situation, the error detection might take 
a long time.


n case your backend simply eats your requests, but doesn't produce 
answers, you will very fast eat up all connections and threads and the 
whole system will hang - without configured timeouts.


BTW: there is also a non-default config to make a worker fail on several 
received HTTP status codes, fail_on_status.


We have to strongly make a difference between retries of a non-lb worker 
and of a load balancer worker. A normal worker has a simple retry 
procedure, independant of the fact, if it is used directly or as part of 
an lb. If it detects an error it uses another pool connection and by 
default tries once more.


If that happens does the real worker officially change to an error state
which would subsequently kick off the retry logic of the load balancer
worker?


Without an lb a worker does not have an error state. It will be 
continuously reused. Only an lb uses error states and temporarily 
disables a failed worker. Even an lb will continuously reuse a worker, 
if there is no other worker to failover.


The maintenance uses a real request and handles it as if the backend 
wouldn't have failed. If you enabled CPing/CPong this means, that it 
would detect a still broken backend early and transparently send the 
request to another member. Because no part of the request (the CPing 
doesn't count) already has been send, the failover to another member 
happens independently of recovery_options (i.e. even with 
recovery_options 3).


Is the request used to test the health of the backend tomcat whichever
one comes first after a global maintenance run even if it has been
previously serviced by another healthy tomcat?  Is this request attempt
to a once errant worker only to test its healthiness and not to actually
have it fulfill the request?  I would hope it is only to test the health
of the backend tomcat and even if it is now willing to accept
connections, the request goes to whatever tomcat has been previously and
successfully responding to the session.


No, the first new request accepted by the web server and mapped to the 
lb will be used (at least if it is free to be routed to any worker. If 
the request belongs to a session located on another backend and the 
default config with sticky sessions is active, it will of course be send 
to its correct backend). It is a real user request. If the backend 
works, OK. If it doesn't accept the request, we can still send it to 
some other worker. If the backend accepts the requests, but processing 
fails, depending on recovery_options the user gets an error.


If you like to improve the page about load balancing or the timeouts 
page, or you want to add some parts about retries and recovery: 
contributions are welcome.


After, we are done discussing I might have some recommendations.  Again,
you've been great.


Thanks. At least we improve the knowledge inside the mailing list archive.

Regards,

Rainer

-
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Re: mod_jk error detection

2007-07-25 Thread Scott McClanahan
On Wed, 2007-07-25 at 17:00 +0200, Rainer Jung wrote:

 Hi,
 
 good questions. First of all: I just today wrote a new docs page about 
 timeouts. We are soon releasing 1.2.24 which contains this page. You can 
 already look at it under
 
 http://people.apache.org/~rjung/mod_jk-dev/docs/
 
 (The new page is named Timeouts and part of the group Generic Howtos.
 
 Also the new docs contain a better explanation, what retries means, 
 especially the huge difference between retries for an lb worker and a 
 usual worker. This info is on the updated workers.properties page in the 
 reference guide.
 
  With these settings how could I expect the connector to behave if:
  
  1.  Tomcat dies and the port is no longer listening resulting in an
  immediate icmp response.
 
 I would expect, that any attempt to use an existing connection or to 
 open a new one immediately returns with an error, because the remote 
 machine rejects the communication. Further JK behaviour is now depending 
 if you are using a load balancer or not. Se retries etc. in the updated 
 docs.
 
  2.  The box hosting tomcat dies or the tcp stack for whatever reason
  tanks resulting in no immediate icmp response.
 
 As long as your local system or the last router still has an arp entry 
 for the died machine, you will run into very long TCP timeouts. We 
 recommend CPing/CPong, see the new Timeouts page.
 
  3.  The connector does make a successful connection to the backend
  tomcat worker only to have that worker become slow and almost
  unresponsive.
 
 You should use CPing/CPong and reply timeouts. See again the new 
 Timeouts page. If you don't use an lb, the best you can do is throwing 
 an error early, such that the rest of the infrastructure doesnt get 
 congested.
 
  Are there more directives I should be concerned with?  Currently, I have
  no intentions on monitoring the http response status codes to detect
  errors.
 
 Look at the new page and look at the workers.properties page of the 
 reference guide. Use a load balancing worker, set recovery_options etc.
 
 HTH.
 
 Regards,
 
 Rainer
 
 P.S.: If you have suggestions how to improve the new page: it's not 
 public yet. If you are fast enough, we can include those changes.
 
 -
 To start a new topic, e-mail: users@tomcat.apache.org
 To unsubscribe, e-mail: [EMAIL PROTECTED]
 For additional commands, e-mail: [EMAIL PROTECTED]
 
 


I thoroughly enjoyed the updated docs.  It is just what I needed.  I
just want to mention a few inferences I have now from reading it.

In a load balanced setup using connect_timeout and prepost_timeout, this
will protect me from sending either newly established connections (rare
event due to persistence) as well as each and every individual request
from being sent to a failed tomcat node based on CPING/CPONG messages.
These messages only detect whether or not the container (I'm using
tomcat) is healthy enough to respond to such a message but not
necessarily anything more, correct?  Basically, its ajp listener is
responsive.  Plus, if I need more high speed error detection I can use
reply_timeout.  Sound correct?

I get confused on the recovery_options section.  How does it work in a
load balanced environment?  If tomcat receives a request and processes
some of it followed by a catastrophic failure before completing the
response, what exactly does a repeated request from the client do?
Assuming recovery_options is set to 0.

Also, I get confused with the section describing the retries directive.
In a load balanced environment, would the connector retry no matter the
state (tcp state here) of the connection whether it be established
already?  Would it retry against the same backend tomcat server?  The
reason I ask is because the docs say If the load balancer can not get a
free connection for a member worker from the pool, it will try again a
number of times given by retries. I highlighted the words that confuse
me.

Every 60 seconds would we expect the connector to attempt to send a
valid request to a backend tomcat and fail or once a worker goes into
error state do we only check with CPING/CPONG requests during the
maintenance cycle?


Re: mod_jk : error sending request. Will try another pooled connection

2007-01-24 Thread heind heind

Hi.

Thanks for answering me.


On 1/23/07, Rainer Jung [EMAIL PROTECTED] wrote:


Hi,

heind heind schrieb:
 Hi,

 I have a web application deployed in tomcat embedded in jonas 4.7.4
 Application Server, and  in frontend  there are apache 2.0.55 and mod_jk
 12.20.

 My issue is that the message below is generated systematically after
every
 jsp call although the jsp are well served and the application works
fine.



...

 My question is what is the meaning of this message and how to avoid a
 second
 attempt ?

 PS :
 - my Apache is 2.0.55 prefork so I can't increase the
 connectio_pool_minsize
 (cf. http://tomcat.apache.org/connectors-doc/reference/workers.html )
 - the workers.properties is in standard configuration.

There is no standard configuration. Please post your
workers.properties, the Jk* directives and the config of the prefork MPM
from your apache config and the tomcat AJP/1.3 connector config from
server.xml.



workers.properties
worker.list=w,jkstatus
# workers vers v440r-01
worker.w_worker1.port=8407
worker.w_worker1.host=v440r-01
worker.w_worker1.type=ajp13
worker.w_worker1.lbfactor=1
worker.w_worker1.distance=1
worker.w_worker1.connection_pool_minsize=1
worker.w_worker1.connection_pool_size=2

# workers vers v440r-02

worker.w_worker2.port=8407
worker.w_worker2.host=10.198.45.5
worker.w_worker2.type=ajp13
worker.w_worker2.lbfactor=1
worker.w_worker2.distance=0
worker.w_worker2.connection_pool_minsize=1
worker.w_worker2.connection_pool_size=2
# LB worker
worker.w.type=lb
worker.w.balance_workers=w_worker2
#worker.w.balance_workers=w_worker1,w_worker2
worker.jkstatus.type=status


jk directives

JkWorkersFile /jonasintra/logiciel/apache_mgf/conf/workers.properties
JkLogFile |/jonasintra/logiciel/apache_mgf/bin/rotatelogs -l
/jonasintra/logiciel/apache_mgf/logs/mod_jk_%Y-%m-%d-%Hh%M.log 86400
JkLogLevel INFO
#JkLogStampFormat [%a %b %d %H:%M:%S %Y]
JkLogStampFormat [%Y-%m-%d %T (%a %d %b %Y)] 
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
#JkRequestLogFormat %w %V %T
JkRequestLogFormat URL : %U - Query : %q - Duration : %Ts
JkMount /mgf/clamweb.applications.gip.f1.ImageServlet mgf
JkMount /mgf/RefreshData mgf
JkMount /mgf/*.do mgf
JkMount /mgf/*.jsp mgf
JkMount /mgf_mrtg/*.jsp mgf
JkMount /jkmanager/* jkstatus
JkMount /mgfJonasAdmin/* mgf
JkMount /essais/* mgf

prefork mpm

IfModule prefork.c
ServerLimit 500
StartServers20
MinSpareServers 10
MaxSpareServers 20
MaxClients  500
MaxRequestsPerChild 1
/IfModule

AJP/1.3 connector
 Connector port=8407
  maxThreads=500
enableLookups=false redirectPort=9043 protocol=AJP/1.3
connectionTimeout=60/

I set the connectionTimeout to the value above to avoide the broken pipe
messages in the backend.


As long as there are no messages of higher level, those info messages do
not indicate a serious functional problem. Normally they should not show
up for each request. Are you sure that you get those for every request?



Yes, I am sure that this message shows up for evry request  when the time
between each call is about 5 min as you see below within the exemple from
mod_jk logs.

[2007-01-24 01:53:07 (Wed 24 Jan 2007)] [12965:0001] [info]
ajp_send_request::jk_ajp_common.c (1201): (mgf_worker2) error sending
request. Will try another pooled connection
[2007-01-24 01:53:07 (Wed 24 Jan 2007)] [12965:0001] [info]
ajp_send_request::jk_ajp_common.c (1227): (mgf_worker2) all endpoints are
disconnected
[2007-01-24 01:53:07 (Wed 24 Jan 2007)] [12965:0001] [info]
ajp_send_request::jk_ajp_common.c (1230): (mgf_worker2) increase the backend
idle connection timeout or the connection_pool_minsize
[2007-01-24 01:53:07 (Wed 24 Jan 2007)] [12965:0001] [info]
ajp_service::jk_ajp_common.c (1916): (mgf_worker2) sending request to tomcat
failed,  recoverable operation attempt=1
[2007-01-24 01:53:07 (Wed 24 Jan 2007)] URL : /mgf_mrtg/memory.jsp - Query
:  - Duration : 0.006798s

[2007-01-24 01:58:08 (Wed 24 Jan 2007)] [12841:0001] [info]
ajp_send_request::jk_ajp_common.c (1201): (mgf_worker2) error sending
request. Will try another pooled connection
[2007-01-24 01:58:08 (Wed 24 Jan 2007)] [12841:0001] [info]
ajp_send_request::jk_ajp_common.c (1227): (mgf_worker2) all endpoints are
disconnected
[2007-01-24 01:58:08 (Wed 24 Jan 2007)] [12841:0001] [info]
ajp_send_request::jk_ajp_common.c (1230): (mgf_worker2) increase the backend
idle connection timeout or the connection_pool_minsize
[2007-01-24 01:58:08 (Wed 24 Jan 2007)] [12841:0001] [info]
ajp_service::jk_ajp_common.c (1916): (mgf_worker2) sending request to tomcat
failed,  recoverable operation attempt=1
[2007-01-24 01:58:08 (Wed 24 Jan 2007)] URL : /mgf_mrtg/memory.jsp - Query
:  - Duration : 0.006775s

[2007-01-24 02:03:07 (Wed 24 Jan 2007)] [12792:0001] [info]
ajp_send_request::jk_ajp_common.c (1201): (mgf_worker2) error sending
request. Will try another pooled connection
[2007-01-24 02:03:07 (Wed 24 Jan 2007)] [12792:0001] [info]

Re: mod_jk error log

2006-04-27 Thread Mladen Turk

Todd Huss wrote:
On all of our webservers from development (doing 1 page view every few 
minutes) to production (doing 500 page views per minute) we're seeing 
these error messages in the mod_jk log:


[Thu Apr 20 17:57:45 2006] [jk_ajp_common.c (783)]: ERROR: can't receive 
the response message from tomcat, network problems or tomcat is down 
(127.0.0.1:8009), err=-54


You have connectionTimeout set in server.xml for
AJP/1.3 connector, correct?

We're running Apache 1.3.33 and Mod_jk 1.2.13 on FreeBSD. Any 
idea what configuration setting might be causing this and how we might 
fix it?




Use mod_jk 1.2.15 (latest stable). 1.2.13 is a mess.
Look at:
http://tomcat.apache.org/connectors-doc/changelog.html

Regards,
Mladen.


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



Re: mod_jk error log

2006-04-27 Thread thuss2

Hi Mladen,

I'll upgrade to the latest mod_jk. I do have a timeout set as follows:

Connector port=8009 connectionTimeout=2
   maxThreads=500 minSpareThreads=5 maxSpareThreads=75
   enableLookups=false redirectPort=8443 debug=0
   protocol=AJP/1.3 /

Then in my workers.properties we have:

worker.tomcat.socket_timeout=60

Does that look OK?
--
View this message in context: 
http://www.nabble.com/mod_jk-error-log-t1519311.html#a4126407
Sent from the Tomcat - User forum at Nabble.com.


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



Re: mod_jk error -60

2006-03-29 Thread Rainer Jung

In case of an error this line will print errno as a negative number.

More precisely:

#if defined(WIN32) || (defined(NETWARE)  defined(__NOVELL_LIBC__))
...
errno = WSAGetLastError() - WSABASEERR;
...
#endif
...
do some read from network
...
return (errno  0) ? -errno : errno;

On Solaris errno 60 is ENOSTR. You need to check, what errno 60 is on 
your platform.


Rainer

Earnie Dyke wrote:

Can anyone tell me what a -60 error is?

[Wed Mar 29 13:56:11 2006] [error] jk_ajp_common.c (961): Can't receive the 
response message from tomcat, network problems or tomcat is down 
(10.1.1.80:8009), err=-60

Earnie!

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



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



Re: mod_jk error -60

2006-03-29 Thread Rainer Jung

I don't know, how correct it is, but the following table looks helpful:

http://www.ioplex.com/~miallen/errcmp.html

It says, that 60 is a time out (ETIMEDOUT) on FreeBSD 5.2.1, OSX 10.3.8 
and OSF1.


Rainer Jung wrote:

In case of an error this line will print errno as a negative number.

More precisely:

#if defined(WIN32) || (defined(NETWARE)  defined(__NOVELL_LIBC__))
...
errno = WSAGetLastError() - WSABASEERR;
...
#endif
...
do some read from network
...
return (errno  0) ? -errno : errno;

On Solaris errno 60 is ENOSTR. You need to check, what errno 60 is on 
your platform.


Rainer

Earnie Dyke wrote:

Can anyone tell me what a -60 error is?

[Wed Mar 29 13:56:11 2006] [error] jk_ajp_common.c (961): Can't 
receive the response message from tomcat, network problems or tomcat 
is down (10.1.1.80:8009), err=-60


Earnie!

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



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


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



Re: mod_jk error numbers

2006-02-16 Thread Mladen Turk

Filip Hanik - Dev Lists wrote:
1. What does the 449 and 461 numbers mean? A: My guess would be line 
numbers




Sure those are line numbers, but for [debug] those
are not errors :)
As well as for [info] and [warn].

Anyhow the format is:
[DATE] [PID:ThreadID] [LEVEL] sourcefile (line number): log message ...



2. Is there a security hole in our server?


No. mod_jk will try to map any request from the wire,
and if no match is found (JkMount) it will return 404.


A: What is your setup like, do you have an apache in front of an apache?



I must say that I don't follow this one.
What could mod_jk do in front of another apache?

Regards,
Mladen.

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