Re: Mod_jk error
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, "侯树成" 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 > > > On 1/10/2014 2:53 PM, Alex Lucard wrote: > > > >> . > >> On Jan 10, 2014 5:00 PM, "Alex Lucard" 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
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 > On 1/10/2014 2:53 PM, Alex Lucard wrote: > >> . >> On Jan 10, 2014 5:00 PM, "Alex Lucard" 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
On 1/10/2014 2:53 PM, Alex Lucard wrote: . On Jan 10, 2014 5:00 PM, "Alex Lucard" 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
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
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
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
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
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
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.
Re: mod_jk error detection
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
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
Re: mod_jk error detection
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
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 detection
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
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 sending request. Will try another pooled connection
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 ServerLimit 500 StartServers20 MinSpareServers 10 MaxSpareServers 20 MaxClients 500 MaxRequestsPerChild 1 AJP/1.3 connector 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] ajp_send_request::jk_ajp_common.c (1227): (mgf_worker2) all endpoints are disconnected [2007-01-24 02:03:07 (Wed 24 Jan 2007)] [12792:0001]
Re: mod_jk : error sending request. Will try another pooled connection
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. 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? What happens, if you use the binary "ab" from your apache httpd to send let's say 1000 requests with a parallelity of 10 (ab -c 10 -n 1000 http://myserver:myport/myurl)? 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 log
Hi Mladen, I'll upgrade to the latest mod_jk. I do have a timeout set as follows: 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 log
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 -60
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 -60
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 numbers
1. What does the 449 and 461 numbers mean? A: My guess would be line numbers 2. Is there a security hole in our server? A: What is your setup like, do you have an apache in front of an apache? Peters Jan wrote: Hi all, I would like to ask the list if someone can give me a hint, what might have gone wrong with our mod_jk. I just installed the connector and switched logging to debug mode. When I open the log file I see the following: [Tue Feb 14 18:00:23 2006] [27276:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (449): Attempting to map URI '/proxycheck.php' from 4 maps [Tue Feb 14 18:00:23 2006] [27276:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (461): Attempting to map context URI '/servlets-examples/*' [Tue Feb 14 18:00:23 2006] [27276:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (461): Attempting to map context URI '/jsp-examples/*.jsp' [Tue Feb 14 18:00:23 2006] [27276:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (461): Attempting to map context URI '/esriadmin/*' [Tue Feb 14 18:00:23 2006] [27276:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (461): Attempting to map context URI '/servlet/*' [Tue Feb 14 18:00:23 2006] [27275:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (449): Attempting to map URI '/cgi-bin/iframe/autovol' from 4 maps [Tue Feb 14 18:00:23 2006] [27275:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (461): Attempting to map context URI '/servlets-examples/*' [Tue Feb 14 18:00:23 2006] [27275:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (461): Attempting to map context URI '/jsp-examples/*.jsp' [Tue Feb 14 18:00:23 2006] [27275:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (461): Attempting to map context URI '/esriadmin/*' [Tue Feb 14 18:00:23 2006] [27275:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (461): Attempting to map context URI '/servlet/*' [Tue Feb 14 18:00:35 2006] [27272:50880] [debug] map_uri_to_worker::jk_uri_worker_map.c (449): Attempting to map URI '/ip.cgi' from 4 maps over and over. What bothers me is the existence of the '/proxycheck.php' , '/cgi-bin/iframe/autovol' and '/ip.cgi' entries, since these are the same requests at our apache firewall in mod_secure. These should have been blocked, but seem to get through to the connector. So my questions are: 1. What does the 449 and 461 numbers mean? 2. Is there a security hole in our server? Thanks for any reply and best regards Jan Peters-Anders - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: mod_jk error numbers
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]