session variables are not setting for the first time in https mode
In my web application i have enabled http/https connector. When i am using in https mode for the first request session variables are not getting set properly. From the second request onwards its working fine. what might be the problem. I am using tomcat6 and struts2 Murthy - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Socket Exception
Hello list, I have an old version of tomcat (I know it is discontinued so if no help available though luck) 5.0.28 running on RedHat EL 4 and there is an error constantly showing up in the logs: Jan 29, 2008 3:55:18 PM org.apache.tomcat.util.net.TcpWorkerThread runIt SEVERE: Remote Host /xxx.xxx.xxx.xxx SocketException: Connection reset I have searched around the web and it seems although it is marked SEVERE it is not actually that important since tomcat just goes along and ignores it. However I would still like to know the cause of it, something I wasn't able to convince Google to tell me. Anyone on the list knows what this is, what might be causing it and how do I fix it? Thanks, Nuno
RE: Tomcat Performance
From: Alan Chaney [mailto:[EMAIL PROTECTED] Unfortunately I think it is way more complicated than this. Seconded. Andrew, you keep mailing this list looking for simple, neat and clean ways of working out the maximum capability of a Tomcat application. There aren't any! The *only* reliable approach is to profile your application, on your target hardware, with a representative load. Even then, your answers may change if you scale that hardware - and the change may be horribly non-linear. To take a simple example, an application that behaves well with one front-end server and one database server may degrade with 2 front-end servers so that the overall throughput and response times are both *worse* than with the single front-end server, because database lock contention has increased and is delaying request completion of all requests on both servers. In general, when a team finds this is the case, there's much wailing and gnashing of teeth, along with a but... but... but the world doesn't work like that! from the people who've never seen something like it before. If I recall, you've never told us why you want these numbers. Are you writing a business case or business plan? If so, the section on scaling and hardware costs needs a big health warning on it: These numbers are wild guesses and could be an order of magnitude out, depending on tiny details of how the system is actually implemented. If your managers or investers are experienced, they'll know this anyway - and there's no point hiding it from them. If the case for the project turns on how much the hardware is going to cost, you have a much bigger problem anyway, which is that the return on investment is so marginal that the project probably *shouldn't* be funded. And, finally, if the hardware cost is significant, then put more in the budget for good developers, and extra time for performance tuning. If the farm is sufficiently large, better brains are cheaper than more iron. Many/most practical scaling problems can be reduced or solved completely by finding the badly-written piece of code or poorly-indexed SQL table that's causing 90% of the problem, and fixing it. - Peter -- Peter Crowther, Director, Melandra Limited - 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: Socket Exception
If it happens that often and you don't have a high traffic site, it might be a monitor script, that does only check if it can do a TCP connect and drop the connection before a full HTTP request-response cycle has finished. Regards, Rainer Peter Crowther wrote: From: Nuno Manuel Martins [mailto:[EMAIL PROTECTED] Ah... nothing else can be the cause of this? Anything that can cause a socket connection to fail or close before Tomcat's finished writing to it. But the most common cause is the user agent. Asking because these aren't normal users for sure, must be something automated since I'm getting some 50 messages a minute :( Add an AccessLogValve (if you haven't already) and review your access logs. Or, if you don't want to restart your production Tomcat instance, use a network sniffer such as Ethereal or tcpdump and go hunting for the traffic - you have the remote IP address(es), so you should be able to filter it reasonably effectively. Is this coming from one particular IP, or many? - Peter - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat 5.5 and SSL connector: keystore was tampered with
Hi! I migrated from Tomcat 5.0 to Tomcat 5.5. I had SSL working in Tomcat 5.0 with both a self-created certificate and a signed (trusted) certificate, both inside a Java keystore (JKS). Now, with Tomcat 5.5 the SSL connector refuses to start with the dreaded keystore was tampered with error. This only happens _if_ I change the keystore password to anything else than changeit. I already searched the mailinglist archives, Tomcat Wiki, Tomcat Howto's and Google. No definitive answers. Just lots of contradicting information. I also read the Tomcat 5.5 SSL HOWTO carefully so I'm positive I did miss anything. Anyways, the process in a nutshell: First I create a new Java keystore (JKS) with keytool, like this: keytool -genkey -alias tomcat -keyalg RSA -keystore /root/newkeystore Next I move on to modifying the server.xml. No matter what I do, I can't get Tomcat to use the correct password. The keystoreFile=/root/newkeystore in the Connector statement works as it should (I straced Tomcat startup). The keystorePass, however, does not work whether it's inside Connector or inside Factory (which is inside the Connector. The keyAlias entry did not help either. I can open my Java keystore just fine with keytool an with the defined password, so it seems that Tomcat is just not using the password that's defined in server.xml and therefore reverts to default. Does anyone have a functional Tomcat 5.5 SSL/https connector definition which I could use? Or does someone have an idea what's happening here? I'd be really happy if this thing gets sorted out! Best regards to all, Samuli --- Btw. The Tomcat 5.5 SSL-Howto seems to have an error in it: If the keystore file is anywhere else, you will need to add a keystoreFile attribute to the Factory element in the Tomcat configuration file. I straced Tomcat startup and if the keystoreFile was defined in Connector element, strace showed that Tomcat was trying to open keystorefile from that location. Adding it to Factory did not work. - 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: Socket Exception
From: Nuno Manuel Martins [mailto:[EMAIL PROTECTED] Ah... nothing else can be the cause of this? Anything that can cause a socket connection to fail or close before Tomcat's finished writing to it. But the most common cause is the user agent. Asking because these aren't normal users for sure, must be something automated since I'm getting some 50 messages a minute :( Add an AccessLogValve (if you haven't already) and review your access logs. Or, if you don't want to restart your production Tomcat instance, use a network sniffer such as Ethereal or tcpdump and go hunting for the traffic - you have the remote IP address(es), so you should be able to filter it reasonably effectively. Is this coming from one particular IP, or many? - Peter - 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: comet end event
getting a -1 on a inputstream.read is normal (even for a regular servlet). that means you've reached EOF and shouldn't read anymore. I haven't tested with the sleep, and I did try with the cometgui, and that worked as well. Filip Peter Warren wrote: Is the read error expected behavior? I guess I didn't expect the comet processor to send me a read event on a last chunk since there's nothing to be read. I thought either a read error or an end event after a last chunk indicated a problem. If the read error is ok, then... Did you try the client with the 50 ms sleep? The client code has a commented block that says: uncomment sleep to get END event instead of read error. Adding the sleep generates the end event for me. Also, did you try with your cometgui client? As I mentioned, submitting a chunk and then separately submitting an end chunk generates an end event for me. If I send the two chunks together, I get the read error. Peter On Jan 28, 2008 1:37 PM, Filip Hanik - Dev Lists [EMAIL PROTECTED] wrote: works just dandy, the timeout happens after quite some time of just waiting Jan 28, 2008 2:33:31 PM org.apache.coyote.http11.Http11NioProtocol start INFO: Starting Coyote HTTP/1.1 on http-8080 Jan 28, 2008 2:33:31 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 1005 ms event: BEGIN, subtype: null event: READ, subtype: null Read 10 bytes: comet test for session: D4BC1A6D7AC7F30C1A475FB7FFB2B4DB read error event: ERROR, subtype: TIMEOUT If you are unsure if you have messed up Tomcat binaries, then I would test this one http://people.apache.org/~fhanik/tomcat/tomcat-5.5/v5.5.26/bin/ these are not an official version, but you can test it out and see how your test works Filip Peter Warren wrote: I put up a war file at: http://www.nomad.org/comet_test.war. It includes the webapp, source for the comet servlet client, and the server.xml file. Let me know if I missed anything. As I mentioned before, I've also used your cometgui.jar client and see the end event generated when using it as well. If I submit a chunk and the last chunk (0crlfcrlf) together, I see a read error on the server. If I submit a chunk and then submit the last chunk in two separate submissions, I see an end event on the server. Peter On Jan 24, 2008 12:44 PM, Filip Hanik - Dev Lists [EMAIL PROTECTED] wrote: even with your code, I wasn't able to replicate what you were seeing. what I would need to see what's going on for you: 1. a war file with your comet server, and source code 2. a test client 3. your server.xml Filip - 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] - 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: Socket Exception
Ah... nothing else can be the cause of this? Asking because these aren't normal users for sure, must be something automated since I'm getting some 50 messages a minute :( -Original Message- From: Peter Crowther [mailto:[EMAIL PROTECTED] Sent: terça-feira, 29 de Janeiro de 2008 16:31 To: 'Tomcat Users List' Subject: RE: Socket Exception From: Nuno Manuel Martins [mailto:[EMAIL PROTECTED] org.apache.tomcat.util.net.TcpWorkerThread runIt SEVERE: Remote Host /xxx.xxx.xxx.xxx SocketException: Connection reset [...] Anyone on the list knows what this is, what might be causing it and how do I fix it? The usual cause is that the browser's stopped a HTTP request part-way through, generally because the user's navigated to another page before the first page has completely downloaded. The browser closes the connection, with the result that Tomcat gets an exception when it next tries to write data to the socket. Arguably it shouldn't be logged as a SEVERE error on production systems, but getting that log message during development and stress testing can be very handy! Fix it by any of the following (in increasing order of difficulty): 1) Ignore it (and change any log-reading scripts that look for SEVERE errors to ignore this one); 2) Grab the source for 5.0.28, find the line where this is logged and change the logging level in the case of a connection reset error, then recompile Tomcat; 3) Educate your users that they are supposed to sit on their hands until the page has completely loaded (by far the hardest ;-) ). - Peter - 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: Tomcat Performance
Without wanting to oppose the whole document, the parts you quoted are pretty incomplete. first, calculating AART from clients perespective (as implicitely done in the article) is not a good idea, since you are mixing up tomcat response time, network transport, internet latency, all in one bunch. Why should tomcat care about the data once it left its buffers? Second, and most serious flaw of the article, is the inability to differ between net and gross request duration. There are more resources needed on the server besides the cpu. Disk io costs time too. With a AART of 1 second and one cpu you can still handle 10 requests per second if the net request duration is 0.1 seconds, even the gross duration is 1 second or more. regards Leon On Jan 29, 2008 3:11 PM, Andrew Hole [EMAIL PROTECTED] wrote: Hello I read an interesting document from Mladen Turk (with whom I want to speak directly, but I don't know direct contact) that there is a formula to calculate the number of concurrent request: http://people.apache.org/~mturk/docs/article/ftwai.html Calculating Load When determining the number of Tomcat servers that you will need to satisfy the client load, the first and major task is determining the Average Application Response Time (hereafter AART). As said before, to satisfy the user experience the application has to respond within half of second. The content received by the client browser usually triggers couple of physical requests to the Web server (e.g. images). The web page usually consists of html and image data, so client issues a series of requests, and the time that all this gets processed and delivered is called AART. To get most out of Tomcat you should limit the number of concurrent requests to 200 per CPU. So we can come with the simple formula to calculate the maximum number of concurrent connections a physical box can handle: 500 Concurrent requests = ( -- max 200 ) * Number of CPU's AART (ms) The other thing that you must care is the Network throughput between the Web server and Tomcat instances. This introduces a new variable called Average Application Response Size (hereafter AARS), that is the number of bytes of all context on a web page presented to the user. On a standard 100Mbps network card with 8 Bits per Byte, the maximum theoretical throughput is 12.5 MBytes. 12500 Concurrent requests = --- AARS (KBytes) For a 20KB AARS this will give a theoretical maximum of 625 concurrent requests. You can add more cards or use faster 1Gbps hardware if need to handle more load. The formulas above will give you rudimentary estimation of the number of Tomcat boxes and CPU's that you will need to handle the desired number of concurrent client requests. If you have to deploy the configuration without having actual hardware, the closest you can get is to measure the AART on a test platform and then compare the hardware vendor Specmarks. I would like to launch a discussion on the validity of this formula and, in case of inappropriate, to try to get a more accurate formula. Thanks a lot - 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: Tomcat Performance
Unfortunately I think it is way more complicated than this. I think that Mladen Turk's article has a lot of very useful information about configuring Tomcat and I congratulate him on putting it together. However, I've spent some time recently working on some performance issues and I think that for any given installation you must consider a number of factors. These include: 1. The time it takes to prepare the data for delivery. 2. The way available resources are combined in the delivery of this data. 1. The database Where a database or some other persistence mechanism is involved the performance of the database can easily overwhelm almost all other considerations. Is the database local or remote? If local, the time taken transferring results from the database to the business layer may not be that significant but the cpu time and disk I/O spent running the query will immediately reduce the resources available and thus increase the response time of web requests. If remote then it is easy for the database to become a bottleneck for requests. Also the time transferring the data over the network becomes more significant and it is arithmetically added to the AART unless the data can be 'preread' and cached. How well designed are the queries? Are they subject to issues such as badly designed indexes which mean that as the data set grows query processing time responds exponentially? Has the object design been tested for performance - an ORM solution can save a lot of time in development but add significant 'hidden' costs. [Please note, I think ORMs are a great idea and always use them where possible but like all technology they have their drawbacks!] 2. The mix of the need for resources by the application. Issues to consider here include: Are sessions required, and the size of the session. This can also significantly impact clustered performance. It may be better to keep keys for information in the session and re-read the data rather than read data once at the beginning of the session. What processing is required in the business/web layer to structure the information? Is there significant XML processing (which can be very time intensive?) Is there significant EL processing on a page (which can be much slower than 'raw' java') My experience is that the only way to really assess the overall performance of a system is to instrument the system extensively and then monitor it in action. Doing this will sometimes reveal bottlenecks which you just didn't consider. Of course even then you must be careful of 'the Heisenberg effect'. One final point. In Mladen Turk's example he assumes that the full bitrate bandwidth of an Ethernet connection is available for useful data. From previous experience I have seen that the overhead of the protocol and framing information reduce the 100 Mbps to more like 70 Mbps which would change his max of 625 concurrent requests to about 440. Another network related issue is that actually most client 'last hop' connections are considerably slower than 100 Mbps. Where TCP/IP is involved the thread which is actually writing to the network interface will block until the *client* has read all the data and indicated that the transmission is successfully completed. In conclusion I think that if you apply two simple formulae to the design of a Tomcat based web application you may be shocked and surprised at the actual results unless you have very carefully analysed your design and investigated the factors which affect performance. Regards Alan Andrew Hole wrote: Hello I read an interesting document from Mladen Turk (with whom I want to speak directly, but I don't know direct contact) that there is a formula to calculate the number of concurrent request: http://people.apache.org/~mturk/docs/article/ftwai.html Calculating Load When determining the number of Tomcat servers that you will need to satisfy the client load, the first and major task is determining the Average Application Response Time (hereafter AART). As said before, to satisfy the user experience the application has to respond within half of second. The content received by the client browser usually triggers couple of physical requests to the Web server (e.g. images). The web page usually consists of html and image data, so client issues a series of requests, and the time that all this gets processed and delivered is called AART. To get most out of Tomcat you should limit the number of concurrent requests to 200 per CPU. So we can come with the simple formula to calculate the maximum number of concurrent connections a physical box can handle: 500 Concurrent requests = ( -- max 200 ) * Number of CPU's AART (ms) The other thing that you must care is the Network throughput between the Web server and Tomcat instances. This introduces a new variable called Average Application Response Size
Re: session variables are not setting for the first time in https mode
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Murthy, Murthy Chelankuri wrote: | In my web application i have enabled http/https connector. When i am | using in https mode for the first request session variables are not | getting set properly. From the second request onwards its working fine. | what might be the problem. Are you ever switching from HTTPS to HTTP? If you do, your HTTPS session will be lost and replaced by one that is only available through the HTTP connection. If you start the session using HTTP, though, the cookie will always be sent. Another possibility is that you are not using cookies and missing an encoded URL somewhere. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.8 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkefPKYACgkQ9CaO5/Lv0PDq1QCfQTnt01GEI2H/FXCZ4MdrJdID 83sAn3oVoSJQcCgmWaOvutmZUneKUbko =p6+e -END PGP SIGNATURE- - 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: server configuration - shared appBase in multiple Host elements
Hi, i think there is no big troubles in having multiple host or even multiple tomcat instances share a common webapp repository, as long as the webapp are properly coded. Tomcat will not write to the webapp base, unless you deploy using tomcat manager. Only exception is when you put a .war there, tomcat will explode and install it. If multiple tomcat/host are trying to do that at the same time, you can run into troubles :) Mind however that those webapp do no try to write in their webapp directory for whatever reasons. And also, do *not* share the work/ directory, each tomcat should have his own :p Note that, if you fear it fail, you can still have a stupid dump script that replicate a central webapp directory to each host's separate webapp directory. Here, we have a common webapp shared between 2 host, we simply used a symbolic link for the webapp on second host (unix environment). Chris Beckey a écrit : The question: has anyone tried to share a web application (appBase) between multiple virtual hosts? Background: the project I'm working on is a number of web applications that front a number (100's) of instances of a legacy application accessed through a custom protocol. The number of Tomcat hosts will be less than the number of legacy data stores (i.e. one Tomcat host will front N instances of the legacy application). Each legacy app instance has its own authentication and authorization data store, which must be passed through so that the Tomcat applications use that for its AA. A custom Realm has been coded and is working (it must know which legacy application instance to connect to). There are multiple web applications, dependent on the interface provided to their clients (apps have different protocols and function). The number of interfaces (web applications) will increase over time. The plan of record is to have a virtual host per legacy app, and web apps for each interface provided. The core of all of the applications resides in shared, common or server. Deployed conventionally, each host would have its own appbase, into which multiple web applications would be deployed. If a particular host fronts 3 legacy applications, each of which has 4 web apps then there would be total of 12 web apps to deploy, maintain, update, etc ... multiplied by 100's of servers makes maintenance rather more difficult than desired (our development group of 4 will probably end up doing much of the maintenance and installation). To reduce the number of deployed applications while still maintaining the relation of Realm to legacy application instance, I tried deploying all of the web apps to a single directory and declaring multiple hosts with the same appBase value. Each host has its own Realm configured for it. Initial testing was positive but its the kind of thing that just looks like it could cause trouble. So back to the original question, has anyone tried this under load/production and how did it work? Thanks - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
server configuration - shared appBase in multiple Host elements
The question: has anyone tried to share a web application (appBase) between multiple virtual hosts? Background: the project I'm working on is a number of web applications that front a number (100's) of instances of a legacy application accessed through a custom protocol. The number of Tomcat hosts will be less than the number of legacy data stores (i.e. one Tomcat host will front N instances of the legacy application). Each legacy app instance has its own authentication and authorization data store, which must be passed through so that the Tomcat applications use that for its AA. A custom Realm has been coded and is working (it must know which legacy application instance to connect to). There are multiple web applications, dependent on the interface provided to their clients (apps have different protocols and function). The number of interfaces (web applications) will increase over time. The plan of record is to have a virtual host per legacy app, and web apps for each interface provided. The core of all of the applications resides in shared, common or server. Deployed conventionally, each host would have its own appbase, into which multiple web applications would be deployed. If a particular host fronts 3 legacy applications, each of which has 4 web apps then there would be total of 12 web apps to deploy, maintain, update, etc ... multiplied by 100's of servers makes maintenance rather more difficult than desired (our development group of 4 will probably end up doing much of the maintenance and installation). To reduce the number of deployed applications while still maintaining the relation of Realm to legacy application instance, I tried deploying all of the web apps to a single directory and declaring multiple hosts with the same appBase value. Each host has its own Realm configured for it. Initial testing was positive but its the kind of thing that just looks like it could cause trouble. So back to the original question, has anyone tried this under load/production and how did it work? Thanks
Tomcat Performance
Hello I read an interesting document from Mladen Turk (with whom I want to speak directly, but I don't know direct contact) that there is a formula to calculate the number of concurrent request: http://people.apache.org/~mturk/docs/article/ftwai.html Calculating Load When determining the number of Tomcat servers that you will need to satisfy the client load, the first and major task is determining the Average Application Response Time (hereafter AART). As said before, to satisfy the user experience the application has to respond within half of second. The content received by the client browser usually triggers couple of physical requests to the Web server (e.g. images). The web page usually consists of html and image data, so client issues a series of requests, and the time that all this gets processed and delivered is called AART. To get most out of Tomcat you should limit the number of concurrent requests to 200 per CPU. So we can come with the simple formula to calculate the maximum number of concurrent connections a physical box can handle: 500 Concurrent requests = ( -- max 200 ) * Number of CPU's AART (ms) The other thing that you must care is the Network throughput between the Web server and Tomcat instances. This introduces a new variable called Average Application Response Size (hereafter AARS), that is the number of bytes of all context on a web page presented to the user. On a standard 100Mbps network card with 8 Bits per Byte, the maximum theoretical throughput is 12.5 MBytes. 12500 Concurrent requests = --- AARS (KBytes) For a 20KB AARS this will give a theoretical maximum of 625 concurrent requests. You can add more cards or use faster 1Gbps hardware if need to handle more load. The formulas above will give you rudimentary estimation of the number of Tomcat boxes and CPU's that you will need to handle the desired number of concurrent client requests. If you have to deploy the configuration without having actual hardware, the closest you can get is to measure the AART on a test platform and then compare the hardware vendor Specmarks. I would like to launch a discussion on the validity of this formula and, in case of inappropriate, to try to get a more accurate formula. Thanks a lot
Cannot activate Tomcat Manager
I'm having trouble enabling the Manager webapp on Tomcat I've altered the server.xml and tomcat-users.xml files appropriately but when I type in www.mysite.com/manager I get an error saying the location doesn't exist. On my local Windoze machine, I've gotten the Manager app to work, it is on the Linux servers that I seem to have the problem. My guess is that it has to do with Apache, which isn't running on the Windows machine. Do I need to edit Apache's configuration files to get the Manager to work as well? thanks, jhmast
RE: Socket Exception
That is probably the reason so going to try and fix the way the check is done. Thank you. -Original Message- From: Rainer Jung [mailto:[EMAIL PROTECTED] Sent: terça-feira, 29 de Janeiro de 2008 16:56 To: Tomcat Users List Subject: Re: Socket Exception If it happens that often and you don't have a high traffic site, it might be a monitor script, that does only check if it can do a TCP connect and drop the connection before a full HTTP request-response cycle has finished. 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: Cannot activate Tomcat Manager
Jonathan Mast wrote: I'm having trouble enabling the Manager webapp on Tomcat I've altered the server.xml and tomcat-users.xml files appropriately but when I type in www.mysite.com/manager I get an error saying the location doesn't exist. On my local Windoze machine, I've gotten the Manager app to work, it is on the Linux servers that I seem to have the problem. My guess is that it has to do with Apache, which isn't running on the Windows machine. Do I need to edit Apache's configuration files to get the Manager to work as well? Depends what ports you are running Tomcat and Apache on, if indeed you are running both. If I guess that you're running Apache (HTTPD) on port 80 and Tomcat (unaltered) on port 8080, then the manager app is available on: http://www.mysite.com:8080/manager If you have connecters (mod_jk, mod_proxy) set up on your Apache HTTPD, then you need to ensure that the appropriate (JkMount, ProxyPass) mappings are in place for each of the URLs you want Tomcat to process. Can you elaborate on how whether you have both servers installed, and on which ports they are running? p thanks, jhmast - 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: Socket Exception
From: Nuno Manuel Martins [mailto:[EMAIL PROTECTED] org.apache.tomcat.util.net.TcpWorkerThread runIt SEVERE: Remote Host /xxx.xxx.xxx.xxx SocketException: Connection reset [...] Anyone on the list knows what this is, what might be causing it and how do I fix it? The usual cause is that the browser's stopped a HTTP request part-way through, generally because the user's navigated to another page before the first page has completely downloaded. The browser closes the connection, with the result that Tomcat gets an exception when it next tries to write data to the socket. Arguably it shouldn't be logged as a SEVERE error on production systems, but getting that log message during development and stress testing can be very handy! Fix it by any of the following (in increasing order of difficulty): 1) Ignore it (and change any log-reading scripts that look for SEVERE errors to ignore this one); 2) Grab the source for 5.0.28, find the line where this is logged and change the logging level in the case of a connection reset error, then recompile Tomcat; 3) Educate your users that they are supposed to sit on their hands until the page has completely loaded (by far the hardest ;-) ). - Peter - 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: Cannot activate Tomcat Manager
FWW, on my Linux box (CentOS5), with a pure Apache Tomcat just unzipped and used in place, to talk to the manager, I need this url: http://localhost:8080/manager/html Ken Pid wrote: Jonathan Mast wrote: I'm having trouble enabling the Manager webapp on Tomcat I've altered the server.xml and tomcat-users.xml files appropriately but when I type in www.mysite.com/manager I get an error saying the location doesn't exist. On my local Windoze machine, I've gotten the Manager app to work, it is on the Linux servers that I seem to have the problem. My guess is that it has to do with Apache, which isn't running on the Windows machine. Do I need to edit Apache's configuration files to get the Manager to work as well? Depends what ports you are running Tomcat and Apache on, if indeed you are running both. If I guess that you're running Apache (HTTPD) on port 80 and Tomcat (unaltered) on port 8080, then the manager app is available on: http://www.mysite.com:8080/manager If you have connecters (mod_jk, mod_proxy) set up on your Apache HTTPD, then you need to ensure that the appropriate (JkMount, ProxyPass) mappings are in place for each of the URLs you want Tomcat to process. Can you elaborate on how whether you have both servers installed, and on which ports they are running? p thanks, jhmast - 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: [ANN] Apache Tomcat JK 1.2.26 Web Server Connector released
On Dec 24 at 4:36pm, RJ=Rainer Jung [EMAIL PROTECTED] wrote: RJ The Apache Tomcat team is pleased to announce the immediate availability RJ of version 1.2.26 of the Apache Tomcat Connectors. RJ RJ [..snip..] So, JK 1.2.26 has been out for over a month and I finally got around to upgrading from 1.2.25 and without changing my mod_jk.conf or workers.properties the connector seems to stop working. In debug mode, I get the following with 1.2.26: jk_translate::mod_jk.c (3033): missing uri map for haroon.sis.utoronto.ca:/rxp/ With 1.2.26 the Jk Status Manager reports: Server URI Match Type Source haroon.sis.utoronto.ca /rxp/* WildcharJkMount With 1.2.25: Match Type Uri Source Wildchar/rxp/* JkMount Obviously the difference is due to this: * JKStatus: Enhance URI to worker map listing for Apache httpd. We now list maps for all virtual servers and not only the one, in which JKStatus itself was called. (rjung) Anyone care to share their war stories with 1.2.26? Here's my configuration files: workers.properties == # basic worker list worker.list=local,status # Define a worker using ajp13 worker.local.port=8009 worker.local.host=localhost worker.local.type=ajp13 worker.status.type=status mod_jk.conf === # Load mod_jk module LoadModule jk_module modules/mod_jk.so # Where to find workers.properties JkWorkersFile conf/workers.properties # Where to put jk logs JkLogFile logs/mod_jk.log # Set the jk log level JkLogLevel error JkShmFile logs/mod_jk.shm JkMount /rxp/* local JkMount /jkstatus status The same setup works flawlessly with 1.2.25. Spent the last few hours on this and was getting no where. Thanks in advance, -- Haroon Rafique [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: Wrong path to servlets
Difficult to say, without the actual jsp code Emmanuel Milou a écrit : Hi, I would like to have your input on this problem. It is quite tricky and I hope you will be able to help me. Here is my configuration: JDK 1.6.0_03, Apache-Tomcat5.5.25, connector ajp13. When I click on an option in the menu bar of my home page, JSP code is executed to call the servlet. It looks like that: /getServletContext().getRequestDispatcher(/servlet/path_to_servlet).forward(request,response); /The problem is that before the page is displayed, the path is modified, and if the JSP file was in a subdirectory (for instance named toto), the name of the directory is added to the path, and finally the browser looks for /toto/servlet/path_to_servlet, /which doesn't exist and I get an 404 Not Found Error. The right URL is /servlet/path_to_servlet, it works when I manually test. It gives the same result for each JSP file saved in a subdirectory. You must know that I used to run Tomcat 5.5 with the same configuration and it worked fine. Thanks for your help. Emmanuel - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
jk_translate::mod_jk.c (3033): missing uri map for
On our suse webserver that was working I have upgraded apache to v2.2.6. I got myself also a new mod_jk. However mod_jk is now failing with : jk_translate::mod_jk.c (3033): missing uri map for bla Has the config been changed between versions ? Ours is the minimal setup. Configfiles virtuallly identical as what you find in the faqs etc... There is no activity on port 8009, tomcat gets nothing. mod_jk.log [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] init::jk_ajp13_worker.c (48): enter [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] ajp_init::jk_ajp_common.c (2324): enter [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2380): setting endpoint options: [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2383): keepalive: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2387): timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2391): buffer size: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2395): pool timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2399): connect timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2403): reply timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2407): prepost timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2411): recovery options: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2415): retries: 2 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2419): max packet size: 8192 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] ajp_create_endpoint_cache::jk_ajp_common.c (2279): enter [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_create_endpoint_cache::jk_ajp_common.c (2288): setting connection pool size to 1 with min 1 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] ajp_create_endpoint_cache::jk_ajp_common.c (2312): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] ajp_init::jk_ajp_common.c (2451): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] init::jk_ajp13_worker.c (54): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] wc_create_worker::jk_worker.c (197): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] build_worker_map::jk_worker.c (269): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] wc_open::jk_worker.c (87): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [info] init_jk::mod_jk.c (2825): mod_jk/1.2.26 initialized [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] jk_child_init::mod_jk.c (2726): enter [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] do_shm_open::jk_shm.c (337): enter [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] do_shm_open::jk_shm.c (457): Attached shared memory [2] size=28672 free=28672 addr=0x2ad23be99000 [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] do_shm_open::jk_shm.c (471): Reseting the shared memory for child 2 [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] do_shm_open_lock::jk_shm.c (248): enter [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] do_shm_open_lock::jk_shm.c (262): Duplicated shared memory lock /Storage/var/run/jk-shm-file.4023.lock [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] do_shm_open_lock::jk_shm.c (264): exit [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] do_shm_open::jk_shm.c (498): exit [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] jk_child_init::mod_jk.c (2730): Attached shm:/Storage/var/run/jk-shm-file.4023 (28672 bytes) [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] jk_child_init::mod_jk.c (2740): Initialized mod_jk/1.2.26 [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] jk_child_init::mod_jk.c (2741): exit [Tue Jan 29 17:35:44.231 2008] [4030:1018793104] [trace] jk_child_init::mod_jk.c (2726): enter [Tue Jan 29 17:35:44.231 2008] [4030:1018793104] [trace] do_shm_open::jk_shm.c (337): enter [Tue Jan 29 17:35:44.231 2008] [4030:1018793104] [debug] do_shm_open::jk_shm.c (457): Attached shared memory [3] size=28672 free=28672 addr=0x2ad23be99000 [Tue Jan 29 17:35:44.231 2008] [4030:1018793104] [debug] do_shm_open::jk_shm.c (471): Reseting the
Re: Empty log files
http://tomcat.apache.org/tomcat-5.5-doc/logging.html might be a good starting place. I don't know what logging configuration you have, but look like ou use some rolling file appender based on date pattern. It creates new files upon new dates. Change your logging configuration if you don't want rolling file. If your problem is that ther should be something in those files, maybe you set the threshold level of information to high (crtitical only probably) Jonathan Mast a écrit : Tomcat is generating a lot of empty log files of at least to types: manager.date.log and host-manager.date.log I googled [empty log files tomcat] and did not find satisfactory answers (or any answers for that matter). thanks - 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: Wrong path to servlets
According to sun's doc: The pathname must begin with a / and is interpreted as relative to the current context root. is /servlet actually in the same webapplication as your jsp? Or did you put your jsp inside ROOT and your servlets inside a separate servlet webapp? In later case, you should use getContext(servlet).getRequestDispatcher(org...).forward(...); Emmanuel Milou a écrit : The jsp code is very basic. Here is the content of each jsp file: % getServletContext().getRequestDispatcher(/servlet/org.capella.intranet.agenda.AgendaServlet).forward(request,response); % Of course, each jsp file calls the right servlet... like I said before, if the jsp file is in a sub directory, the name of the sub directory is preprended to the path . david delbecq wrote: Difficult to say, without the actual jsp code Emmanuel Milou a écrit : Hi, I would like to have your input on this problem. It is quite tricky and I hope you will be able to help me. Here is my configuration: JDK 1.6.0_03, Apache-Tomcat5.5.25, connector ajp13. When I click on an option in the menu bar of my home page, JSP code is executed to call the servlet. It looks like that: /getServletContext().getRequestDispatcher(/servlet/path_to_servlet).forward(request,response); /The problem is that before the page is displayed, the path is modified, and if the JSP file was in a subdirectory (for instance named toto), the name of the directory is added to the path, and finally the browser looks for /toto/servlet/path_to_servlet, /which doesn't exist and I get an 404 Not Found Error. The right URL is /servlet/path_to_servlet, it works when I manually test. It gives the same result for each JSP file saved in a subdirectory. You must know that I used to run Tomcat 5.5 with the same configuration and it worked fine. Thanks for your help. Emmanuel - 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]
Empty log files
Tomcat is generating a lot of empty log files of at least to types: manager.date.log and host-manager.date.log I googled [empty log files tomcat] and did not find satisfactory answers (or any answers for that matter). thanks
Wrong path to servlets
Hi, I would like to have your input on this problem. It is quite tricky and I hope you will be able to help me. Here is my configuration: JDK 1.6.0_03, Apache-Tomcat5.5.25, connector ajp13. When I click on an option in the menu bar of my home page, JSP code is executed to call the servlet. It looks like that: /getServletContext().getRequestDispatcher(/servlet/path_to_servlet).forward(request,response); /The problem is that before the page is displayed, the path is modified, and if the JSP file was in a subdirectory (for instance named toto), the name of the directory is added to the path, and finally the browser looks for /toto/servlet/path_to_servlet, /which doesn't exist and I get an 404 Not Found Error. The right URL is /servlet/path_to_servlet, it works when I manually test. It gives the same result for each JSP file saved in a subdirectory. You must know that I used to run Tomcat 5.5 with the same configuration and it worked fine. Thanks for your help. Emmanuel -- Emmanuel Milou Consultant en Logiciel Libre Savoir-Faire Linux Inc. [EMAIL PROTECTED] 514-276-5468 poste 136 - 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: Cannot activate Tomcat Manager
THANKS! That worked! I need both the 8080 and the html subdirectory specified. Problem solved. On Jan 29, 2008 2:14 PM, Ken Bowen [EMAIL PROTECTED] wrote: FWW, on my Linux box (CentOS5), with a pure Apache Tomcat just unzipped and used in place, to talk to the manager, I need this url: http://localhost:8080/manager/html Ken Pid wrote: Jonathan Mast wrote: I'm having trouble enabling the Manager webapp on Tomcat I've altered the server.xml and tomcat-users.xml files appropriately but when I type in www.mysite.com/manager I get an error saying the location doesn't exist. On my local Windoze machine, I've gotten the Manager app to work, it is on the Linux servers that I seem to have the problem. My guess is that it has to do with Apache, which isn't running on the Windows machine. Do I need to edit Apache's configuration files to get the Manager to work as well? Depends what ports you are running Tomcat and Apache on, if indeed you are running both. If I guess that you're running Apache (HTTPD) on port 80 and Tomcat (unaltered) on port 8080, then the manager app is available on: http://www.mysite.com:8080/manager If you have connecters (mod_jk, mod_proxy) set up on your Apache HTTPD, then you need to ensure that the appropriate (JkMount, ProxyPass) mappings are in place for each of the URLs you want Tomcat to process. Can you elaborate on how whether you have both servers installed, and on which ports they are running? p thanks, jhmast - 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: comet end event
Could you indulge me and try the client with the sleep? I see the end event when there's a break/delay between sending a chunk and sending the last chunk. It is legal http to send the last chunk separately from preceding chunks, isn't it? getting a -1 on a inputstream.read is normal (even for a regular servlet). The read error indicates slightly more: that inputstream.isAvailable() is 0 and that inputstream.read() returns -1. Do I understand correctly in thinking that this -1 can indicate two different situations: 1) the client sent a last chunk; or 2) the client socket closed while the server was reading? If the above is true, it might be nice to have a way to disambiguate the two situations. Also, documentation-wise, it might be nice to comment the servlet code in http://tomcat.apache.org/tomcat-6.0-doc/aio.html to indicate that the -1 can occur on a last chunk as well as a read error. As a new comet user, I incorrectly took your sample code block (in the aio doc page) below to mean that a -1 always indicated some kind of error: } else if (n 0) { error(event, request, response); return; } Thanks, Peter - 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: Wrong path to servlets
The jsp code is very basic. Here is the content of each jsp file: % getServletContext().getRequestDispatcher(/servlet/org.capella.intranet.agenda.AgendaServlet).forward(request,response); % Of course, each jsp file calls the right servlet... like I said before, if the jsp file is in a sub directory, the name of the sub directory is preprended to the path . david delbecq wrote: Difficult to say, without the actual jsp code Emmanuel Milou a écrit : Hi, I would like to have your input on this problem. It is quite tricky and I hope you will be able to help me. Here is my configuration: JDK 1.6.0_03, Apache-Tomcat5.5.25, connector ajp13. When I click on an option in the menu bar of my home page, JSP code is executed to call the servlet. It looks like that: /getServletContext().getRequestDispatcher(/servlet/path_to_servlet).forward(request,response); /The problem is that before the page is displayed, the path is modified, and if the JSP file was in a subdirectory (for instance named toto), the name of the directory is added to the path, and finally the browser looks for /toto/servlet/path_to_servlet, /which doesn't exist and I get an 404 Not Found Error. The right URL is /servlet/path_to_servlet, it works when I manually test. It gives the same result for each JSP file saved in a subdirectory. You must know that I used to run Tomcat 5.5 with the same configuration and it worked fine. Thanks for your help. Emmanuel - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Emmanuel Milou Consultant en Logiciel Libre Savoir-Faire Linux Inc. [EMAIL PROTECTED] 514-276-5468 poste 136 - 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: comet end event
Peter Warren wrote: Could you indulge me and try the client with the sleep? just did, worked exactly as before. event: BEGIN, subtype: null event: READ, subtype: null Read 10 bytes: comet test for session: A01334D0AC22505DCD4B323820963FEC read error event: ERROR, subtype: TIMEOUT I see the end event when there's a break/delay between sending a chunk and sending the last chunk. It is legal http to send the last chunk separately from preceding chunks, isn't it? getting a -1 on a inputstream.read is normal (even for a regular servlet). The read error indicates slightly more: that inputstream.isAvailable() is 0 and that inputstream.read() returns -1. Do I understand correctly in thinking that this -1 can indicate two different situations: 1) the client sent a last chunk; or 2) the client socket closed while the server was reading? isAvailable is only there so that you don't have to block the thread. ie, isAvailable()0 means that the thread will return directly from a read(byte[]). The return value of read(byte[]) is what you have to pay attention to, -1 does mean EOF (and if the transport is chunked, then yes, last chunk has been received) I can't recall on top of my head, but a real read error, would generate an IOException during read(byte[]) If the above is true, it might be nice to have a way to disambiguate the two situations. Also, documentation-wise, it might be nice to comment the servlet code in http://tomcat.apache.org/tomcat-6.0-doc/aio.html to indicate that the -1 can occur on a last chunk as well as a read error. see above. As a new comet user, I incorrectly took your sample code block (in the aio doc page) below to mean that a -1 always indicated some kind of error: } else if (n 0) { error(event, request, response); return; } yes, we are very aware that the sample code is not the best for getting started, we are looking to replace it, but it takes time and resources. contributions always welcome! Filip Thanks, Peter - 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: [ANN] Apache Tomcat JK 1.2.26 Web Server Connector released
Hi Haroon, the change in the status worker display that you noticed is not directly related to your problem, only so far, as we changed a couple of things around the mount tables. The good: more information in the status worker. The ugly: stricter handling of JkMount/JkMountFile etc. with respect to virtual hosts. It should have behaved for a long time in the way, that mounts are not inherited between virtual hosts and also not from the global server to any virtual host. The debug log statement you cite indicates, that there is no mount known in a virtal host you are using. So first question: Do you have an VirualHost in your apache httpd configuration? If so: first find out, which VirtualHost handles your requests. This might be trivial, in some cases it is not trivial. If you are not sure, you can configure a different CustomLog in the global server and for wach VirtualHost and then check, in which CustomLog your request got logged. Once you know, which VirtualHost handles your request, you can either: - define all relevant JkMount/JkUnMount/JkMountfile in the VirtualHost or - define them globally and copy all of them into the VirtualHost by setting JkMountCopy On inside the virtual host. In case you have lots of VirtualHost and you want them all to share several JkMounts, put them into the global server and add JkMountCopy all to the global server. I hope that is understandable? Regards, Rainer Haroon Rafique schrieb: On Dec 24 at 4:36pm, RJ=Rainer Jung [EMAIL PROTECTED] wrote: RJ The Apache Tomcat team is pleased to announce the immediate availability RJ of version 1.2.26 of the Apache Tomcat Connectors. RJ RJ [..snip..] So, JK 1.2.26 has been out for over a month and I finally got around to upgrading from 1.2.25 and without changing my mod_jk.conf or workers.properties the connector seems to stop working. In debug mode, I get the following with 1.2.26: jk_translate::mod_jk.c (3033): missing uri map for haroon.sis.utoronto.ca:/rxp/ With 1.2.26 the Jk Status Manager reports: Server URI Match Type Source haroon.sis.utoronto.ca /rxp/* WildcharJkMount With 1.2.25: Match Type Uri Source Wildchar/rxp/* JkMount Obviously the difference is due to this: * JKStatus: Enhance URI to worker map listing for Apache httpd. We now list maps for all virtual servers and not only the one, in which JKStatus itself was called. (rjung) Anyone care to share their war stories with 1.2.26? Here's my configuration files: workers.properties == # basic worker list worker.list=local,status # Define a worker using ajp13 worker.local.port=8009 worker.local.host=localhost worker.local.type=ajp13 worker.status.type=status mod_jk.conf === # Load mod_jk module LoadModule jk_module modules/mod_jk.so # Where to find workers.properties JkWorkersFile conf/workers.properties # Where to put jk logs JkLogFile logs/mod_jk.log # Set the jk log level JkLogLevel error JkShmFile logs/mod_jk.shm JkMount /rxp/* local JkMount /jkstatus status The same setup works flawlessly with 1.2.25. Spent the last few hours on this and was getting no where. Thanks in advance, -- Haroon Rafique [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: jk_translate::mod_jk.c (3033): missing uri map for
Your post unfortunately is barely readable. The same question was asked on the list 40 minutes before your post, so I simply point you to http://marc.info/?l=tomcat-userm=120164756115289w=2 If this doesn't help, please post again using a more friendly message format :) Regards, Rainer f rom schrieb: On our suse webserver that was working I have upgraded apache to v2.2.6. I got myself also a new mod_jk. However mod_jk is now failing with : jk_translate::mod_jk.c (3033): missing uri map for bla Has the config been changed between versions ? Ours is the minimal setup. Configfiles virtuallly identical as what you find in the faqs etc... There is no activity on port 8009, tomcat gets nothing. mod_jk.log [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] init::jk_ajp13_worker.c (48): enter [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] ajp_init::jk_ajp_common.c (2324): enter [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2380): setting endpoint options: [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2383): keepalive: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2387): timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2391): buffer size: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2395): pool timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2399): connect timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2403): reply timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2407): prepost timeout: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2411): recovery options: 0 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2415): retries: 2 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_init::jk_ajp_common.c (2419): max packet size: 8192 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] ajp_create_endpoint_cache::jk_ajp_common.c (2279): enter [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [debug] ajp_create_endpoint_cache::jk_ajp_common.c (2288): setting connection pool size to 1 with min 1 [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] ajp_create_endpoint_cache::jk_ajp_common.c (2312): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] ajp_init::jk_ajp_common.c (2451): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] init::jk_ajp13_worker.c (54): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] wc_create_worker::jk_worker.c (197): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] build_worker_map::jk_worker.c (269): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [trace] wc_open::jk_worker.c (87): exit [Tue Jan 29 17:35:44.224 2008] [4023:1018793104] [info] init_jk::mod_jk.c (2825): mod_jk/1.2.26 initialized [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] jk_child_init::mod_jk.c (2726): enter [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] do_shm_open::jk_shm.c (337): enter [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] do_shm_open::jk_shm.c (457): Attached shared memory [2] size=28672 free=28672 addr=0x2ad23be99000 [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] do_shm_open::jk_shm.c (471): Reseting the shared memory for child 2 [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] do_shm_open_lock::jk_shm.c (248): enter [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] do_shm_open_lock::jk_shm.c (262): Duplicated shared memory lock /Storage/var/run/jk-shm-file.4023.lock [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] do_shm_open_lock::jk_shm.c (264): exit [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] do_shm_open::jk_shm.c (498): exit [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] jk_child_init::mod_jk.c (2730): Attached shm:/Storage/var/run/jk-shm-file.4023 (28672 bytes) [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [debug] jk_child_init::mod_jk.c (2740): Initialized mod_jk/1.2.26 [Tue Jan 29 17:35:44.228 2008] [4029:1018793104] [trace] jk_child_init::mod_jk.c (2741): exit [Tue Jan 29 17:35:44.231 2008] [4030:1018793104] [trace] jk_child_init::mod_jk.c (2726): enter [Tue Jan 29 17:35:44.231 2008] [4030:1018793104] [trace]
RE: Wrong path to servlets
From: david delbecq [mailto:[EMAIL PROTECTED] Subject: Re: Wrong path to servlets is /servlet actually in the same webapplication as your jsp? Why do I suspect the OP is using the dreaded and despicable InvokerServlet? - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - 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: comet end event
Could you indulge me and try the client with the sleep? just did, worked exactly as before. event: BEGIN, subtype: null event: READ, subtype: null Read 10 bytes: comet test for session: A01334D0AC22505DCD4B323820963FEC read error event: ERROR, subtype: TIMEOUT Hmm, not sure where to go from here then. Here's my output: Jan 29, 2008 4:36:23 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 1173 ms event: BEGIN, subtype: null event: READ, subtype: null Read 10 bytes: comet test for session: CAF116EB9DF8BB1C5DD3170FC70F2394 event: END, subtype: null If you are unsure if you have messed up Tomcat binaries, then I would test this one http://people.apache.org/~fhanik/tomcat/tomcat-5.5/v5.5.26/bin/ I don't think it's bad binaries 'cause I've rebuilt a number of times, but I'm happy to give new binaries a try. You're pointing to tomcat 5.5 binaries though -- I thought comet was a 6.0 feature. Should I try the 5.5 binaries anyway? yes, we are very aware that the sample code is not the best for getting started, we are looking to replace it, but it takes time and resources. I didn't mean to be critical -- merely pointing out an area of confusion for me. In fact, I thought the sample code was reasonably sufficient for me to get up and running. My main issues were getting the client http chunking working properly. contributions always welcome! I'm pretty sure you don't want me writing the sample code! :) I'm still learning here, but I hope that our dialog is a contribution of sorts. As I mentioned before, my comet app is working fine using non-chunked httpurlconnections. This end event issue is not a roadblock for me -- I'm pursuing it to help tomcat and tomcat users, and satisfy my own curiosity of course. :) Hopefully others will learn from my misunderstandings, code snippets, etc. Peter - 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: comet end event
Peter Warren wrote: Could you indulge me and try the client with the sleep? just did, worked exactly as before. event: BEGIN, subtype: null event: READ, subtype: null Read 10 bytes: comet test for session: A01334D0AC22505DCD4B323820963FEC read error event: ERROR, subtype: TIMEOUT Hmm, not sure where to go from here then. Here's my output: Jan 29, 2008 4:36:23 PM org.apache.catalina.startup.Catalina start INFO: Server startup in 1173 ms event: BEGIN, subtype: null event: READ, subtype: null Read 10 bytes: comet test for session: CAF116EB9DF8BB1C5DD3170FC70F2394 event: END, subtype: null pretty sure you just got something wrong. we are even on the same platform (Win XP) If you are unsure if you have messed up Tomcat binaries, then I would test this one http://people.apache.org/~fhanik/tomcat/tomcat-5.5/v5.5.26/bin/ I don't think it's bad binaries 'cause I've rebuilt a number of times, but I'm happy to give new binaries a try. You're pointing to tomcat 5.5 binaries though -- I thought comet was a 6.0 feature. Should I try the 5.5 binaries anyway? total brain fart, no, the 5.5 binaries wont work, 6.0.16 is coming around the corner, at that point you can try those out. yes, we are very aware that the sample code is not the best for getting started, we are looking to replace it, but it takes time and resources. I didn't mean to be critical -- merely pointing out an area of confusion for me. In fact, I thought the sample code was reasonably sufficient for me to get up and running. My main issues were getting the client http chunking working properly. hey, criticism is good, all feedback is good. contributions always welcome! I'm pretty sure you don't want me writing the sample code! :) I'm still learning here, but I hope that our dialog is a contribution of sorts. As I mentioned before, my comet app is working fine using non-chunked httpurlconnections. This end event issue is not a roadblock for me -- I'm pursuing it to help tomcat and tomcat users, and satisfy my own curiosity of course. :) Hopefully others will learn from my misunderstandings, code snippets, etc. all contributions, even discussions like this are always welcome, and appreciated. Filip - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Invalid Keystore Format Exception
Hi, I'm trying to get SSL working real quick for some experiments, and I did this: $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA Answered the questions, got .keystore to appear in my home directory and then I uncommented the SSL Connector element in server.xml and filled out the keystoreFile and keystorePass attributes. Now I get this exception: Jan 29, 2008 11:27:38 PM org.apache.coyote.http11.Http11Protocol init SEVERE: Error initializing endpoint java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java:651) at sun.security.provider.JavaKeyStore$JKS.engineLoad(JavaKeyStore.java:56) at java.security.KeyStore.load(KeyStore.java:1202) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore(JSSESocketFactory.java:319) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getTrustStore(JSSESocketFactory.java:293) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getTrustManagers(JSSESocketFactory.java:444) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init(JSSESocketFactory.java:378) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket(JSSESocketFactory.java:125) Anyone know why this is happening? I tried regenerating a few times but hte results are still the same. Thanks, - Ole - 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: Invalid Keystore Format Exception
May be you should use the -storetype JKS to be sure of the format in which the keystore is generated. ++Vamsi On Jan 30, 2008 11:11 AM, Ole Ersoy [EMAIL PROTECTED] wrote: Hi, I'm trying to get SSL working real quick for some experiments, and I did this: $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA Answered the questions, got .keystore to appear in my home directory and then I uncommented the SSL Connector element in server.xml and filled out the keystoreFile and keystorePass attributes. Now I get this exception: Jan 29, 2008 11:27:38 PM org.apache.coyote.http11.Http11Protocol init SEVERE: Error initializing endpoint java.io.IOException: Invalid keystore format at sun.security.provider.JavaKeyStore.engineLoad(JavaKeyStore.java :651) at sun.security.provider.JavaKeyStore$JKS.engineLoad( JavaKeyStore.java:56) at java.security.KeyStore.load(KeyStore.java:1202) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getStore( JSSESocketFactory.java:319) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getTrustStore( JSSESocketFactory.java:293) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.getTrustManagers( JSSESocketFactory.java:444) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.init( JSSESocketFactory.java:378) at org.apache.tomcat.util.net.jsse.JSSESocketFactory.createSocket( JSSESocketFactory.java:125) Anyone know why this is happening? I tried regenerating a few times but hte results are still the same. Thanks, - Ole - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
OutOfMemoryError: allocLargeObjectOrArray
Dear all: We have some problem with OutOfMemory error. Environment Tomcat: 5.5.25 JDK: jrockit-R27.4.0-jdk1.5.0_12 5130472 [TP-Processor29] ERROR org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/Mainweb].[default] - Servlet.service() for servlet default threw exception java.lang.OutOfMemoryError: allocLargeObjectOrArray - Object size: 75333648, Num elements: 37666816 at java.lang.String.init(String.java:458) at java.io.ByteArrayOutputStream.toString(ByteArrayOutputStream.java:160) at org.apache.tomcat.util.log.CaptureLog.getCapture(CaptureLog.java:48) at org.apache.tomcat.util.log.SystemLogHandler.stopCapture(SystemLogHandler.java:109) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:207) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:174) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.jstripe.tomcat.probe.Tomcat55AgentValve.invoke(Tomcat55AgentValve.java:20) at org.apache.catalina.cluster.tcp.ReplicationValve.invoke(ReplicationValve.java:347) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:117) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:108) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:151) at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:200) at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:283) at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:773) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:703) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) == java.lang.OutOfMemoryError: allocLargeObjectOrArray - Object size: 75333648, Num elements: 37666816 What does it mean about allocLargeObjectOrArray ? I have tried to tune jvm options with -server -Xms768m -Xmx768m -Xns256m But tomcat still throw out the same error Any suggestion will be appreciated ^^ - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]