Re: Connectors, blocking, and keepalive
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 24/03/2014 00:50, Christopher Schultz wrote: > Mark, > > On 3/23/14, 6:12 PM, Mark Thomas wrote: >> On 23/03/2014 22:07, Christopher Schultz wrote: >>> Mark, >> >>> On 2/27/14, 12:56 PM, Christopher Schultz wrote: Mark, On 2/25/14, 3:31 AM, Mark Thomas wrote: > On 25/02/2014 06:03, Christopher Schultz wrote: >> All, > >> I'm looking at the comparison table at the bottom of the >> HTTP connectors page, and I have a few questions about >> it. > >> First, what does "Polling size" mean? > > Maximum number of connections in the poller. I'd simply > remove it from the table. It doesn't add anything. Okay, thanks. >> Second, under the NIO connector, both "Read HTTP Body" >> and "Write HTTP Response" say that they are >> "sim-Blocking"... does that mean that the API itself is >> stream-based (i.e. blocking) but that the actual >> under-the-covers behavior is to use non-blocking I/O? > > It means simulated blocking. The low level writes use a > non-blocking API but blocking is simulated by not returning > to the caller until the write completes. That's what I was thinking. Thanks for confirming. >> >>> Another quick question: during the sim-blocking for reading the >>> request-body, does the request go back into the poller queue, >>> or does it just sit waiting single-threaded-style? I would >>> assume that latter, otherwise we'd either violate the spec (one >>> thread serves the whole request) or spend a lot of resources >>> making sure we got the same thread back, etc. >> >> Both. >> >> The socket gets added to the BlockPoller and the thread waits on >> a latch for the BlockPoller to data can be read. > > Okay, but it's still one-thread-one-request... /The/ thread will > stay with that request until its complete, right? The BlockPoller > will just wake-up the same waiting thread.. no funny-business? ;) Correct. > Okay, one more related question: for the BIO connector, does the > request/connection go back into any kind of queue after the > initial (keep-alive) request has completed, or does the thread that > has already processed the first request on the connection keep > going until there are no more keep-alive requests? I can't see a > mechanism in the BIO connector to ensure any kind of fairness with > respect to request priority: once the client is in, it can make as > many requests as it wants (up to maxKeepAliveRequests) without > getting back in line. Correct. Although keep in mind that for BIO it doesn't make sense to have connections > threads so it really comes down to how the threads are scheduled for processing. Mark -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJTL/zwAAoJEBDAHFovYFnn7ZwQALSXf/WzpzXd1hj/TdfUCSlI e7m6vMP0EdzTG5WV1GcnWb4I/votVJEENhr1ApB+kMc00qrnvOxu/YPMaNjkd7J+ CqajYOYEobuWt4UAqGSk9QyLq9bjKNyzG8jN+q2AY3mVjjM019RzQhP2Wf3AdjOW v+Nu9j+A32vay/UcutEzxGvVEtmHTqW70B9o+43SqPuplJLzb6rGooq8JICsDn5g agTUynLqZEgxHyJ5d7b+ZnXcsFRcchfyZqNCDOCo7ULqS6y9jaqUZSrq8hDvOjMi 6LNH/mk6QVPuii3j0wZ8kmJFgK6Tb1DID6+gx7Xw8CHfmxi0P4Cf6L87CYMFo7AO dRB1IE5WeuRjxXlGS197NZ+l+fBQe24UNFw+Z0Uy38yqpIFjzvdxsZXihJGT6j2+ m4d01GJc4vbZR9le8BJuVLrb5rT7Dmk2Tg0nJmOHMmoGk/yioJ2/2pR+HqNAr9Uw cq1+qvS+773rGNm1z4ULcV0S5cpWikUIoQa+v17kfBDVzJiCY1HGJfJM29kLp8z+ M4KnyeACRcPu0RUZqV6DStd6am6uRZ3l3nQFRyBTKdW8lsSwjx3XOBQGC5k0yNZ7 z6O1mdFQH1+4i6hfWoTqPsjq85V/+BxEwNdXYNJBF0OSgAqOTHRKpxgIy3TIi4M2 AyXj6QGYgkXTnCKNTynL =O1Wm -END PGP SIGNATURE- - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56304] WebSocket send locks and timeout does not occur after 20 seconds
https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 --- Comment #3 from Mark Thomas --- For the record, I can reproduce this with 8.0.x using: - Unbuntu 12.04.04 LTS VM as the server (fully patched) - Latest 8.0.x code - Oracle 1.7.0_45 64-bit JVM - Snake WebSocket example - Firefox on OSX (fully patched) as the client Simply turning off the WiFi on the OSX client leads to a read thread (http-bio-8080-exec-NN) and a write thread (SnakeTimer) blocking indefinitely. I'm looking into what can be done about this now. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56304] WebSocket send locks and timeout does not occur after 20 seconds
https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 --- Comment #4 from Mark Thomas --- Add info from the users list that the timeout does occur after approx 15 minutes. This is - believe it or not - working as designed! See this thread from SO (it is off topic for SO but spot on for this problem) http://stackoverflow.com/questions/15484906/change-the-tcp-timeout-for-a-linux-network-device It would appear that the only way to handle this if you want to continue to use the BIO connector is is to reduce /proc/sys/net/ipv4/tcp_retries2 I'll add some information about this to the WebSocket docs. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1580821 - in /tomcat/trunk/webapps/docs: changelog.xml web-socket-howto.xml
Author: markt Date: Mon Mar 24 12:18:57 2014 New Revision: 1580821 URL: http://svn.apache.org/r1580821 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 WebSocket + BIO HTTP + Production = bad idea Modified: tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/web-socket-howto.xml Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1580821&r1=1580820&r2=1580821&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Mar 24 12:18:57 2014 @@ -92,6 +92,10 @@ operation because the web application is already being serviced, report an error rather than reporting success. (markt) + +56304: Add a note to the documentation about not using +WebSocket with BIO HTTP in production. (markt) + Modified: tomcat/trunk/webapps/docs/web-socket-howto.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/web-socket-howto.xml?rev=1580821&r1=1580820&r2=1580821&view=diff == --- tomcat/trunk/webapps/docs/web-socket-howto.xml (original) +++ tomcat/trunk/webapps/docs/web-socket-howto.xml Mon Mar 24 12:18:57 2014 @@ -49,7 +49,26 @@ code. + +Although the WebSocket implementation does work with any of the HTTP +connectors, it is not recommended to the WebSocket with the BIO HTTP connector +as the typical uses of WebSocket (large numbers of mostly idle connections) is +not a good fit for the HTTP BIO connector which requires that one thread is +allocated per connection regardless of whether or not the connection is idle. + + +It has been reported (56304) that Linux can take large numbers of +minutes to report dropped connections. When using WebSocket with the BIO HTTP +connector this can result in threads blocking on writes for this period. This is +likely to be undesirable. The time taken for the connection to be reported as +dropped can be reduced by using the kernel network parameter +/proc/sys/net/ipv4/tcp_retries2. Alternatively, one of the other +HTTP connectors may be used as they utilise non-blocking IO enabling Tomcat to +implement its own timeout mechanism to handle these cases. + + + Tomcat provides a number of Tomcat specific configuration options for WebSocket. It is anticipated that these will be absorbed into the WebSocket specification over time. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1580823 - in /tomcat/tc7.0.x/trunk: ./ webapps/docs/changelog.xml webapps/docs/web-socket-howto.xml
Author: markt Date: Mon Mar 24 12:36:02 2014 New Revision: 1580823 URL: http://svn.apache.org/r1580823 Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 WebSocket + BIO HTTP + Production = bad idea Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml tomcat/tc7.0.x/trunk/webapps/docs/web-socket-howto.xml Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1580658,1580821 Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1580823&r1=1580822&r2=1580823&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Mar 24 12:36:02 2014 @@ -225,6 +225,10 @@ operation because the web application is already being serviced, report an error rather than reporting success. (markt) + +56304: Add a note to the documentation about not using +WebSocket with BIO HTTP in production. (markt) + Modified: tomcat/tc7.0.x/trunk/webapps/docs/web-socket-howto.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/web-socket-howto.xml?rev=1580823&r1=1580822&r2=1580823&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/web-socket-howto.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/web-socket-howto.xml Mon Mar 24 12:36:02 2014 @@ -49,6 +49,24 @@ code. + +Although the WebSocket implementation does work with any of the HTTP +connectors, it is not recommended to the WebSocket with the BIO HTTP connector +as the typical uses of WebSocket (large numbers of mostly idle connections) is +not a good fit for the HTTP BIO connector which requires that one thread is +allocated per connection regardless of whether or not the connection is idle. + + +It has been reported (56304) that Linux can take large numbers of +minutes to report dropped connections. When using WebSocket with the BIO HTTP +connector this can result in threads blocking on writes for this period. This is +likely to be undesirable. The time taken for the connection to be reported as +dropped can be reduced by using the kernel network parameter +/proc/sys/net/ipv4/tcp_retries2. Alternatively, one of the other +HTTP connectors may be used as they utilise non-blocking IO enabling Tomcat to +implement its own timeout mechanism to handle these cases. + + The JSR-356 Java WebSocket 1.0 implementation is only available when Tomcat is running on Java 7 or later. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56304] WebSocket send locks and timeout does not occur after 20 seconds
https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 --- Comment #5 from rstoyanc...@yahoo.com --- Thanks, when you say it's expected to work this way, does it also mean the send timeout cannot be enforced with the BIO connector? Can anything meaningful be done if an application can detect a timeout situation? Currently trying to close the session from another thread locks up that thread too. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1580824 - /tomcat/trunk/webapps/docs/changelog.xml
Author: markt Date: Mon Mar 24 12:46:37 2014 New Revision: 1580824 URL: http://svn.apache.org/r1580824 Log: Whitespace police Modified: tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1580824&r1=1580823&r2=1580824&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Mar 24 12:46:37 2014 @@ -94,7 +94,7 @@ 56304: Add a note to the documentation about not using -WebSocket with BIO HTTP in production. (markt) +WebSocket with BIO HTTP in production. (markt) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1580825 - /tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml
Author: markt Date: Mon Mar 24 12:47:05 2014 New Revision: 1580825 URL: http://svn.apache.org/r1580825 Log: Whitespace police Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1580825&r1=1580824&r2=1580825&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Mon Mar 24 12:47:05 2014 @@ -227,7 +227,7 @@ 56304: Add a note to the documentation about not using -WebSocket with BIO HTTP in production. (markt) +WebSocket with BIO HTTP in production. (markt) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56304] WebSocket send locks and timeout does not occur after 20 seconds
https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #6 from Mark Thomas --- There is no Java API available for setting a write timeout. Closing the socket may or may not be possible - it depends on the locking implemented by the JRE. I've taken a look at the Java side and there is a lock on close but not on write. However, a lock could occur on the same object in the native code. Given your experience, it looks like tweaking the kernel network parameters are the best (only?) option if you want to run WebSocket + HTTP BIO + Linux. I have added some appropriate notes to the WebSocket docs for 8.0.x (8.0.5+) and 7.0.x (7.0.53+) -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1580821 - in /tomcat/trunk/webapps/docs: changelog.xml web-socket-howto.xml
2014-03-24 13:18 GMT+01:00 : > Author: markt > Date: Mon Mar 24 12:18:57 2014 > New Revision: 1580821 > > URL: http://svn.apache.org/r1580821 > Log: > Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 > WebSocket + BIO HTTP + Production = bad idea > > Shouldn't the BIO connector be deprecated in 8.0 ? That would be simpler to understand. Rémy
Re: svn commit: r1580821 - in /tomcat/trunk/webapps/docs: changelog.xml web-socket-howto.xml
On 24/03/2014 13:04, Rémy Maucherat wrote: > 2014-03-24 13:18 GMT+01:00 : > >> Author: markt >> Date: Mon Mar 24 12:18:57 2014 >> New Revision: 1580821 >> >> URL: http://svn.apache.org/r1580821 >> Log: >> Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 >> WebSocket + BIO HTTP + Production = bad idea >> > Shouldn't the BIO connector be deprecated in 8.0 ? That would be simpler > to understand. With the increasing amount of non-blocking IO in the various APIs, the writing is certainly on the wall for the BIO connector. My current thinking is that it should be dropped in 9.0.x In terms of when it is deprecated in 8.0.x, I'd like to delay that to give the NIO connector a chance to settle down as we have only just switched over to that as the default connector. I'm expecting the increased usage of NIO to identify some edge case bugs we haven't fixed yet. I'd be happier deprecating BIO after a reasonable period of stable releases with the NIO connector as the default. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1580849 - /tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java
Author: markt Date: Mon Mar 24 13:36:45 2014 New Revision: 1580849 URL: http://svn.apache.org/r1580849 Log: Review after unexpected failed test on OSX - completed needs to be volatile - prevent infinite loop Modified: tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java Modified: tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java?rev=1580849&r1=1580848&r2=1580849&view=diff == --- tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java (original) +++ tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java Mon Mar 24 13:36:45 2014 @@ -301,8 +301,10 @@ public class TestCoyoteAdapter extends T client.disconnect(); // Wait for server thread to stop -while (servlet.getThread().isAlive()) { +int count = 0; +while (servlet.getThread().isAlive() && count < 10) { Thread.sleep(250); +count ++; } Assert.assertTrue(servlet.isCompleted()); } @@ -314,7 +316,7 @@ public class TestCoyoteAdapter extends T // This is a hack that won't work generally as servlets are expected to // handle more than one request. private Thread t; -private boolean completed = false; +private volatile boolean completed = false; public Thread getThread() { return t; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 55943] Provide a way prevent looking at the System classloader before the webapp classloaders
https://issues.apache.org/bugzilla/show_bug.cgi?id=55943 olivier dupuy changed: What|Removed |Added CC||opldu...@gmail.com -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1580869 - /tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java
Author: markt Date: Mon Mar 24 14:57:09 2014 New Revision: 1580869 URL: http://svn.apache.org/r1580869 Log: Another unit test run failure on OSX and a more careful review. Handle the case where timeout completes request before the Runnable's error handling does. Modified: tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java Modified: tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java URL: http://svn.apache.org/viewvc/tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java?rev=1580869&r1=1580868&r2=1580869&view=diff == --- tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java (original) +++ tomcat/trunk/test/org/apache/catalina/connector/TestCoyoteAdapter.java Mon Mar 24 14:57:09 2014 @@ -348,9 +348,17 @@ public class TestCoyoteAdapter extends T os.flush(); Thread.sleep(1000); } catch (Exception e) { -asyncCtxt.complete(); -completed = true; -break; +try { +// Note if request times out before this +// exception is thrown and the complete call +// below is made, the complete call below will +// fail since the timeout will have completed +// the request. +asyncCtxt.complete(); +break; +} finally { +completed = true; +} } } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56304] WebSocket send locks and timeout does not occur after 20 seconds
https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 --- Comment #7 from rstoyanc...@yahoo.com --- I guess that makes the combination of WebSocket and BIO pretty unusable. Good to know in any case. I have to double check the behavior with Servlet 3 async in the same scenario with NIO. BTW while you're in the FAQ, it says that the buffer size limit is for incoming messages. However an exception is raised also when trying to send messages larger than 8K. I suspect it is an issue with the FAQ? -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot failure in ASF Buildbot on tomcat-trunk
The Buildbot has detected a new failure on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/5631 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1580821 Blamelist: markt BUILD FAILED: failed compile_1 sincerely, -The Buildbot
[Bug 56304] WebSocket send locks and timeout does not occur after 20 seconds
https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 --- Comment #8 from Mark Thomas --- If you have an issue sending more than 8k then that is a separate question for the users mailing list. Tomcat imposes no such limitation as it has no need to buffer then entire message. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 56304] WebSocket send locks and timeout does not occur after 20 seconds
https://issues.apache.org/bugzilla/show_bug.cgi?id=56304 --- Comment #9 from rstoyanc...@yahoo.com --- Okay thanks Mark. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Connectors, blocking, and keepalive
Mark, On 3/24/14, 5:37 AM, Mark Thomas wrote: > On 24/03/2014 00:50, Christopher Schultz wrote: >> Mark, > >> On 3/23/14, 6:12 PM, Mark Thomas wrote: >>> On 23/03/2014 22:07, Christopher Schultz wrote: Mark, >>> On 2/27/14, 12:56 PM, Christopher Schultz wrote: > Mark, > > On 2/25/14, 3:31 AM, Mark Thomas wrote: >> On 25/02/2014 06:03, Christopher Schultz wrote: >>> All, >> >>> I'm looking at the comparison table at the bottom of the >>> HTTP connectors page, and I have a few questions about >>> it. >> >>> First, what does "Polling size" mean? >> >> Maximum number of connections in the poller. I'd simply >> remove it from the table. It doesn't add anything. > > Okay, thanks. > >>> Second, under the NIO connector, both "Read HTTP Body" >>> and "Write HTTP Response" say that they are >>> "sim-Blocking"... does that mean that the API itself is >>> stream-based (i.e. blocking) but that the actual >>> under-the-covers behavior is to use non-blocking I/O? >> >> It means simulated blocking. The low level writes use a >> non-blocking API but blocking is simulated by not returning >> to the caller until the write completes. > > That's what I was thinking. Thanks for confirming. >>> Another quick question: during the sim-blocking for reading the request-body, does the request go back into the poller queue, or does it just sit waiting single-threaded-style? I would assume that latter, otherwise we'd either violate the spec (one thread serves the whole request) or spend a lot of resources making sure we got the same thread back, etc. >>> >>> Both. >>> >>> The socket gets added to the BlockPoller and the thread waits on >>> a latch for the BlockPoller to data can be read. > >> Okay, but it's still one-thread-one-request... /The/ thread will >> stay with that request until its complete, right? The BlockPoller >> will just wake-up the same waiting thread.. no funny-business? ;) > > Correct. > >> Okay, one more related question: for the BIO connector, does the >> request/connection go back into any kind of queue after the >> initial (keep-alive) request has completed, or does the thread that >> has already processed the first request on the connection keep >> going until there are no more keep-alive requests? I can't see a >> mechanism in the BIO connector to ensure any kind of fairness with >> respect to request priority: once the client is in, it can make as >> many requests as it wants (up to maxKeepAliveRequests) without >> getting back in line. > > Correct. Although keep in mind that for BIO it doesn't make sense to > have connections > threads so it really comes down to how the threads > are scheduled for processing. Understood, but there are say 1000 connections waiting in the accept queue and only 250 threads available, if my connection gets accept()ed, then I get to make as many requests as I want without having to get back in line. Yes, I ave to compete for CPU time with the other 249 threads, but I don't have to wait in the 1000-connection-long line. Thanks, -chris signature.asc Description: OpenPGP digital signature
Re: Connectors, blocking, and keepalive
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 On 24/03/2014 16:56, Christopher Schultz wrote: > Mark, > > On 3/24/14, 5:37 AM, Mark Thomas wrote: >> On 24/03/2014 00:50, Christopher Schultz wrote: >>> Mark, >> >>> On 3/23/14, 6:12 PM, Mark Thomas wrote: On 23/03/2014 22:07, Christopher Schultz wrote: > Mark, > On 2/27/14, 12:56 PM, Christopher Schultz wrote: >> Mark, >> >> On 2/25/14, 3:31 AM, Mark Thomas wrote: >>> On 25/02/2014 06:03, Christopher Schultz wrote: All, >>> I'm looking at the comparison table at the bottom of the HTTP connectors page, and I have a few questions about it. >>> First, what does "Polling size" mean? >>> >>> Maximum number of connections in the poller. I'd >>> simply remove it from the table. It doesn't add >>> anything. >> >> Okay, thanks. >> Second, under the NIO connector, both "Read HTTP Body" and "Write HTTP Response" say that they are "sim-Blocking"... does that mean that the API itself is stream-based (i.e. blocking) but that the actual under-the-covers behavior is to use non-blocking I/O? >>> >>> It means simulated blocking. The low level writes use a >>> non-blocking API but blocking is simulated by not >>> returning to the caller until the write completes. >> >> That's what I was thinking. Thanks for confirming. > Another quick question: during the sim-blocking for reading > the request-body, does the request go back into the poller > queue, or does it just sit waiting single-threaded-style? I > would assume that latter, otherwise we'd either violate the > spec (one thread serves the whole request) or spend a lot > of resources making sure we got the same thread back, etc. Both. The socket gets added to the BlockPoller and the thread waits on a latch for the BlockPoller to data can be read. >> >>> Okay, but it's still one-thread-one-request... /The/ thread >>> will stay with that request until its complete, right? The >>> BlockPoller will just wake-up the same waiting thread.. no >>> funny-business? ;) >> >> Correct. >> >>> Okay, one more related question: for the BIO connector, does >>> the request/connection go back into any kind of queue after >>> the initial (keep-alive) request has completed, or does the >>> thread that has already processed the first request on the >>> connection keep going until there are no more keep-alive >>> requests? I can't see a mechanism in the BIO connector to >>> ensure any kind of fairness with respect to request priority: >>> once the client is in, it can make as many requests as it wants >>> (up to maxKeepAliveRequests) without getting back in line. >> >> Correct. Although keep in mind that for BIO it doesn't make sense >> to have connections > threads so it really comes down to how the >> threads are scheduled for processing. > > Understood, but there are say 1000 connections waiting in the > accept queue and only 250 threads available, if my connection gets > accept()ed, then I get to make as many requests as I want without > having to get back in line. Yes, I ave to compete for CPU time with > the other 249 threads, but I don't have to wait in the > 1000-connection-long line. I knew something was bugging me about this. You need to look at the end of the while loop in AbstractHttp11Processor.process() and the call to breakKeepAliveLoop() What happens is that if there is no evidence of a pipelined request at that point, the socket goes back into the socket/processor map and the thread is used to process another socket so you can end up with more concurrent connections than threads but only if you explicitly set maxConnections > maxThreads which I would maintain is a bad idea for BIO anyway as you can end up with some threads waiting huge amounts of time to be processed. Given that this feature offers little/no benefit at the price of having to run through a whole pile of code only to end up back where you started, I'm tempted to hard-code the return value of breakKeepAliveLoop() to false for BIO HTTP. Mark -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQIcBAEBAgAGBQJTMGaJAAoJEBDAHFovYFnn0lQP/A4TyL3Xqp/dd4nYJxtP1lXT omQfbVHYI61Qb1DZDLxjRmM4/9Qs1YUEImmyJLtG1YE7XqeiJhp7bcg4K8BOXKP1 V2Di9cqiRo4mFxmOSsk/86Gad0lnRafc+MetepOATpaDrSTYlCrkGpyjuNKHfbai nILsSiUGV1qlG/XPteJUrG5SwyphdUyKA2HpnPnMsYG5p4aO2Gj8e3tpF1eoKXSK IX1PEVxY5ur2UyZrX7Gz4ulz7DKtJN/w7r2iscR3ItxGgl3K6bBcWd6EaUKraCKW iBsPbFxzQe2AH0iPil6P+HCMenDpsc8D246FrIfL492hYcN8Zcui0EfwmpAcxFg9 M2yVS0X97vjo/L62OuQlj8WXOvCILlaeyh1zW8cjuz2ABw/loczc0WBZFVl7vkJe me58M38Eo0/jMZ8SFy+t9OREUXPY721l0+/I8h0ded57lsgrXXxTIdB8kT0YV2Ru XIaPrZafUg7rq413UC0lcSj6mhLwMtS/rusHwDY/RMLsx/1Wvyr1N4K0knDl16iy PMB5sEEKd/VmW4a1f9ZxBvb9/TmY/cPZxQ1p/hNi8QTkRyTDwA8bta+KKs
svn commit: r1580930 - in /tomcat/tc8.0.x/tags/TOMCAT_8_0_5: ./ build.properties.default
Author: markt Date: Mon Mar 24 17:28:28 2014 New Revision: 1580930 URL: http://svn.apache.org/r1580930 Log: Tag 8.0.5 Added: tomcat/tc8.0.x/tags/TOMCAT_8_0_5/ - copied from r1580929, tomcat/trunk/ Modified: tomcat/tc8.0.x/tags/TOMCAT_8_0_5/build.properties.default Modified: tomcat/tc8.0.x/tags/TOMCAT_8_0_5/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/tags/TOMCAT_8_0_5/build.properties.default?rev=1580930&r1=1580929&r2=1580930&view=diff == --- tomcat/tc8.0.x/tags/TOMCAT_8_0_5/build.properties.default (original) +++ tomcat/tc8.0.x/tags/TOMCAT_8_0_5/build.properties.default Mon Mar 24 17:28:28 2014 @@ -27,7 +27,7 @@ version.major=8 version.minor=0 version.build=5 version.patch=0 -version.suffix=-dev +version.suffix= # - Build control flags - # Note enabling validation uses Checkstyle which is LGPL licensed - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Connectors, blocking, and keepalive
2014-03-24 18:08 GMT+01:00 Mark Thomas : > Given that this feature offers little/no benefit at the price of > having to run through a whole pile of code only to end up back where > you started, I'm tempted to hard-code the return value of > breakKeepAliveLoop() to false for BIO HTTP. > > Yes please [that's how it used to be]. The rule for that connector is one thread <-> one connection, that's its only way of doing something useful for some users. Rémy
buildbot success in ASF Buildbot on tomcat-trunk
The Buildbot has detected a restored build on builder tomcat-trunk while building ASF Buildbot. Full details are available at: http://ci.apache.org/builders/tomcat-trunk/builds/5632 Buildbot URL: http://ci.apache.org/ Buildslave for this Build: bb-vm_ubuntu Build Reason: scheduler Build Source Stamp: [branch tomcat/trunk] 1580869 Blamelist: markt Build succeeded! sincerely, -The Buildbot
[Tomcat Wiki] Update of "FAQ/Memory" by ChuckCaldarale
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change notification. The "FAQ/Memory" page has been changed by ChuckCaldarale: https://wiki.apache.org/tomcat/FAQ/Memory?action=diff&rev1=10&rev2=11 * Your OS limits the amount of memory your process may take. OK, this one is grasping at straws. * The JVM has a bug. This has been known to happen with JVM1.2.? and using EJB's with another servlet engine. * Not actually a reason - but on your particular platform, look at the {{{java -X}}} options. They may be VERY helpful. - * [[http://opensource2.atlassian.com/confluence/spring/pages/viewpage.action?pageId=2669|Your classloaders are not being garbage collected]]. + * [[http://victor-jan.blogspot.com/2010/05/memory-leaks-where-classloader-cannot.html|Your classloaders are not being garbage collected]]. * You run out of process memory (non java/GC memory), for example when using java.util.zip classes or JNI classes allocating process memory. See [[http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4797189|Instantiating Inflater/Deflater causes OutOfMemoryError; finalizers not called promptly enough]] See also [[OutOfMemory]] and [[MemoryLeakProtection]]. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1580968 - in /tomcat/trunk: build.properties.default res/maven/mvn.properties.default
Author: markt Date: Mon Mar 24 18:20:38 2014 New Revision: 1580968 URL: http://svn.apache.org/r1580968 Log: Prep for next release. Modified: tomcat/trunk/build.properties.default tomcat/trunk/res/maven/mvn.properties.default Modified: tomcat/trunk/build.properties.default URL: http://svn.apache.org/viewvc/tomcat/trunk/build.properties.default?rev=1580968&r1=1580967&r2=1580968&view=diff == --- tomcat/trunk/build.properties.default (original) +++ tomcat/trunk/build.properties.default Mon Mar 24 18:20:38 2014 @@ -25,7 +25,7 @@ # - Version Control Flags - version.major=8 version.minor=0 -version.build=5 +version.build=6 version.patch=0 version.suffix=-dev Modified: tomcat/trunk/res/maven/mvn.properties.default URL: http://svn.apache.org/viewvc/tomcat/trunk/res/maven/mvn.properties.default?rev=1580968&r1=1580967&r2=1580968&view=diff == --- tomcat/trunk/res/maven/mvn.properties.default (original) +++ tomcat/trunk/res/maven/mvn.properties.default Mon Mar 24 18:20:38 2014 @@ -35,7 +35,7 @@ maven.asf.release.repo.url=https://repos maven.asf.release.repo.repositoryId=apache.releases # Release version info -maven.asf.release.deploy.version=8.0.5 +maven.asf.release.deploy.version=8.0.6 #Where do we load the libraries from tomcat.lib.path=../../output/build/lib - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1580971 - /tomcat/trunk/webapps/docs/changelog.xml
Author: markt Date: Mon Mar 24 18:22:25 2014 New Revision: 1580971 URL: http://svn.apache.org/r1580971 Log: 8.0.4 didn't make it Modified: tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1580971&r1=1580970&r2=1580971&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Mon Mar 24 18:22:25 2014 @@ -99,7 +99,7 @@ - + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r4791 [2/2] - in /dev/tomcat/tomcat-8: v8.0.4/ v8.0.5/ v8.0.5/bin/ v8.0.5/bin/embed/ v8.0.5/bin/extras/ v8.0.5/src/
Added: dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.tar.gz.md5 == --- dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.tar.gz.md5 (added) +++ dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.tar.gz.md5 Mon Mar 24 18:41:12 2014 @@ -0,0 +1 @@ +be36f6985fc589a3d75eba2ed517bd66 *apache-tomcat-8.0.5-src.tar.gz \ No newline at end of file Added: dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.zip == Binary file - no diff available. Propchange: dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.zip -- svn:mime-type = application/octet-stream Added: dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.zip.asc == --- dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.zip.asc (added) +++ dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.zip.asc Mon Mar 24 18:41:12 2014 @@ -0,0 +1,17 @@ +-BEGIN PGP SIGNATURE- +Version: GnuPG v1.4.9 (MingW32) + +iQIcBAABAgAGBQJTMGynAAoJEBDAHFovYFnnrdIQALcQ12C4QUMYwkzNlOikboKN +ar1k5ZJCvpnttASgSil6Hgq11GYc+qbAtDWwg+RNTbHbeFIKrs0LKaAL1HFn3KbN +904VQMXR5LsbIuAz52mLk0Ox4MqfO7XBB2M+7yp9O7HnpZH9urc1s0VPKa+TQuTS +UdfnBsVhILIpSGdqQAWE1CRtpSGhECOOYHFgujIy5D55gwKhaIbXdDh4987gjULL +naPX0CSRmPep/Yx2n7yNC+KOF8mozsORoS2YvCmHGW2JfCHGRtZ2DdBDoitgEfVG +hevwHDXV7Z+i82/Vv2tO0cWvbt5ROh+tKet/IgNy6tufsewySV7cDwT9vvulC92Z +54LB3AEOE3ertkWngd/IqbScp7BJeMvKzPI02Rg0KgUKJ1Sz0rn+fBnpaeqdCi90 +HzzTAjFLYKsGk8uoBkcUt3ynomkn3WuVbSO1R83/5ohR63LaZydDvUjhbmGU7oYk +Ob9egSetpvgdMjLhz/ZjeV3j5d55AUyJltNNbx09uzVYIfPEbMD+wLZ8WHx2Q9Eb +X9gErbmDxNURnq8fRzJSWgITZEbKmNL4yTFevfUTzxtMA+7Q8OwCso+JL7ETmjb7 +zo/a/sbQIxRmfzMZjIInO3epx3jJma/+fUMosO+PHX4cEKVY8PvPFU0sJD6WjTx9 +HNKG9bkqsKhS5LqTRBS6 +=zECE +-END PGP SIGNATURE- Added: dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.zip.md5 == --- dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.zip.md5 (added) +++ dev/tomcat/tomcat-8/v8.0.5/src/apache-tomcat-8.0.5-src.zip.md5 Mon Mar 24 18:41:12 2014 @@ -0,0 +1 @@ +03e8ca71f2317c93fce13babd13e8f59 *apache-tomcat-8.0.5-src.zip \ No newline at end of file - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[VOTE] Release Apache Tomcat 8.0.5
The proposed Apache Tomcat 8.0.5 release is now available for voting. The main changes since 8.0.4 are: - Fix a regression in the fix for BZ 56190 - Various NIO2 fixes - Fix Java 8 syntax support for JSPs The main changes since 8.0.3 are: - Update Eclipse JDT compiler to enable full Java 8 support for JSPs in the default configuration - Add new, experimental HTTP and AJP connectors based on NIO2 - Update the default connection pooling based on a repackaged Commons DBCP 2 to use the Commons DBCP 2.0 release It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.0.5/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1009/ The svn tag is: http://svn.apache.org/repos/asf/tomcat/tc8.0.x/tags/TOMCAT_8_0_5/ The proposed 8.0.5 release is: [ ] Broken - do not release [ ] Alpha - go ahead and release as 8.0.5 (alpha) [ ] Beta - go ahead and release as 8.0.5 (beta) [ ] Stable - go ahead and release as 8.0.5 (stable) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1581027 - in /tomcat/tc7.0.x/tags/TOMCAT_7_0_53: ./ build.properties.default
Author: violetagg Date: Mon Mar 24 20:10:24 2014 New Revision: 1581027 URL: http://svn.apache.org/r1581027 Log: Tag 7.0.53 Added: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ (props changed) - copied from r1581024, tomcat/tc7.0.x/trunk/ Modified: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/build.properties.default Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:append = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:label = Bugzilla ID (optional) Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- --- bugtraq:message (added) +++ bugtraq:message Mon Mar 24 20:10:24 2014 @@ -0,0 +1 @@ +Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:number = true Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:url = https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:warnifnoissue = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- --- svn:ignore (added) +++ svn:ignore Mon Mar 24 20:10:24 2014 @@ -0,0 +1,7 @@ +.* +build.properties +logs +nbproject +output +work +*.iml Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Mon Mar 24 20:10:24 2014 @@ -0,0 +1 @@ +/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222328,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112,1240114 ,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1293397-1297017,1297019-1297963,1297965-1299820,1300108,1300111-1300460,1300520-1300948,1300997,1301006,1301280,1302332,1302348,1302608-1302610,1302649,1302837,1303138,1303163,1303338,1303521,1303587,1303698,1303803,1303852,1304011,1304035,1304037,1304135,1304249,1304253,1304260,1304271,1304275,1304468,1304895,1304930-1304932,1305194,1305943,1305965,1306556,1306579-1306580,1307084,1307310,1307511-1307512,1307579,1307591,1307597,1310636,1310639-1310640,1310642,1310701,1311212,1311995,1327617,1327670,1331766,1333161,1333173,1333827,1334787,1335026,1335257,1335547,1335692,1335711,1335731,1336515,1336813,1336864,1336868,1336884,1337419,1337426,1337546,1337572,1337591-1337595,1337643,1337707,1337719,1337734,1337741,1337745,1338151-1338154,1338178,1342027,1342029,1342315,1342320,1342476,1342 498,1342503,1342717,1342795,1342805,1343044-1343046,1343335,1343394,1343400,1343629,1343708,1343718,1343895,1344063,1344068,1344250,1344266,1344515,1344528,1344612,1344629,1344725,1344868,1344890,1344893,1344896,1344901,1345020,1345029,1345039,1345287-1345290,1345294,1345309,1345325,1345357,1345367,1345579-1345580,1345582,1345688,1345699,1345704,1345731-1345732,1345737,1345744,1345752,1345754,1345779,1345781,1345846,1346107,1346365,1346376,1346404,1346510,1346514,1346519,1346581,1346635,1346644,1346683,1346794,1346885,1346932,1347034,1347047,1347087,1347108-1347109,1347583,1347737,1348105,1348357,1348398,1348425,1348461-1348495,1348498,1348752,1348762,1348772,1348776,1348859,1348968,1348973,1348989,1349007,1349237,1349298,1349317,1349410,1349473,1349539,1349879,1349887,1349893,1349922,1349984,1350124,1350241,1350243,1350294-1350295,1350299,1350864,1350900,1351010,1351054,1351056,1351068,1351134-1351135,1351148,1351259,1351604,1351636-1351640,1351991,1351993,1352011,1352056,1352059,1 352661,1352663,1352788,1352799,1353087,1353125,1353240,1353261,1353414,1353468,1353501,1
svn commit: r1581061 - /tomcat/trunk/BUILDING.txt
Author: violetagg Date: Mon Mar 24 20:59:03 2014 New Revision: 1581061 URL: http://svn.apache.org/r1581061 Log: Specify that Apache Ant version 1.8.2 or later is required for building Tomcat. Modified: tomcat/trunk/BUILDING.txt Modified: tomcat/trunk/BUILDING.txt URL: http://svn.apache.org/viewvc/tomcat/trunk/BUILDING.txt?rev=1581061&r1=1581060&r2=1581061&view=diff == --- tomcat/trunk/BUILDING.txt (original) +++ tomcat/trunk/BUILDING.txt Mon Mar 24 20:59:03 2014 @@ -69,11 +69,11 @@ source distribution, do the following: into which you installed the JDK release. -(2) Install Apache Ant 1.8.x on your computer +(2) Install Apache Ant version 1.8.2 or later on your computer - 1. If Apache Ant 1.8.x is already installed on your computer, skip to (3). + 1. If Apache Ant version 1.8.2 or later is already installed on your computer, skip to (3). - 2. Download a binary distribution of Ant 1.8.x from: + 2. Download a binary distribution of Ant from: http://ant.apache.org/bindownload.cgi - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1581065 - in /tomcat/tc7.0.x/trunk: ./ BUILDING.txt
Author: violetagg Date: Mon Mar 24 21:06:07 2014 New Revision: 1581065 URL: http://svn.apache.org/r1581065 Log: Merged revision 1581061 from tomcat/trunk: Specify that Apache Ant version 1.8.2 or later is required for building Tomcat. Modified: tomcat/tc7.0.x/trunk/ (props changed) tomcat/tc7.0.x/trunk/BUILDING.txt Propchange: tomcat/tc7.0.x/trunk/ -- Merged /tomcat/trunk:r1581061 Modified: tomcat/tc7.0.x/trunk/BUILDING.txt URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/BUILDING.txt?rev=1581065&r1=1581064&r2=1581065&view=diff == --- tomcat/tc7.0.x/trunk/BUILDING.txt (original) +++ tomcat/tc7.0.x/trunk/BUILDING.txt Mon Mar 24 21:06:07 2014 @@ -82,11 +82,11 @@ source distribution, do the following: JSR-356 (Java WebSocket 1.0) support. -(2) Install Apache Ant 1.8.x on your computer +(2) Install Apache Ant version 1.8.2 or later on your computer - 1. If Apache Ant 1.8.x is already installed on your computer, skip to (3). + 1. If Apache Ant version 1.8.2 or later is already installed on your computer, skip to (3). - 2. Download a binary distribution of Ant 1.8.x from: + 2. Download a binary distribution of Ant from: http://ant.apache.org/bindownload.cgi - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1581066 - /tomcat/tc7.0.x/tags/TOMCAT_7_0_53/
Author: violetagg Date: Mon Mar 24 21:07:49 2014 New Revision: 1581066 URL: http://svn.apache.org/r1581066 Log: Remove the tag in order to pick up r1581065 Removed: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Tomcat Wiki] Update of "tools/nagios-send-passive-check.sh" by ChristopherSchultz
Dear Wiki user, You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change notification. The "tools/nagios-send-passive-check.sh" page has been changed by ChristopherSchultz: https://wiki.apache.org/tomcat/tools/nagios-send-passive-check.sh New page: {{{ #!/bin/sh # # nagios-send-passive-check.sh # # Sends a passive-check to a Nagios service. # # Copyright (c) 2014 Christopher Schultz # # Christopher Schultz licenses this file to You under the Apache License, # Version 2.0 (the "License"); you may not use this file except in # compliance with the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. # NAGIOS_BASE_URL=https://localhost/nagios NAGIOS_USER=nagios NAGIOS_PASSWORD=[specify] DEFAULT_HOST= DEFAULT_SERVICE= # Plugin states: 0=OK, 1=WARNING, 2=CRITICAL, 3=UNKNOWN DEFAULT_STATE=2 DEFAULT_STATUS=CRITICAL DEFAULT_PERFORMANCE= HOST=${1:-"${DEFAULT_HOST}"} SERVICE=${2:-"${DEFAULT_SERVICE}"} STATE=${3:-"${DEFAULT_STATE}"} STATUS_STRING=${4:-"${DEFAULT_STATUS}"} PERFORMANCE=${5:-"${DEFAULT_PERFORMANCE}"} LOG="/tmp/nagios-passive-check.log.$$" curl -si --user "${NAGIOS_USER}:${NAGIOS_PASSWORD}' \ --data-urlencode 'cmd_typ=30' \ --data-urlencode 'cmd_mod=2' \ --data-urlencode "host=$HOST" \ --data-urlencode "service=$SERVICE" \ --data-urlencode "plugin_state=$STATE" \ --data-urlencode "plugin_output=$STATUS_STRING" \ --data-urlencode "performance_data=$PERFORMANCE" \ "${NAGIOS_BASE_URL}/cgi-bin/cmd.cgi" \ | tee "$LOG" 2>&1 \ | grep -q "successfully submitted" result=$? if [ "0" != "$result" ] ; then echo Error submitting passive-check to Nagios: echo HOST=$HOST echo SERVICE=$SERVICE echo STATE=$STATE echo STATUS_STRING=$STATUS_STRING echo PERFORMANCE_DATA=$PERFORMANCE cat "$LOG" fi rm "$LOG" }}} - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1581197 - in /tomcat/tc7.0.x/tags/TOMCAT_7_0_53: ./ build.properties.default
Author: violetagg Date: Tue Mar 25 03:00:35 2014 New Revision: 1581197 URL: http://svn.apache.org/r1581197 Log: Tag 7.0.53 Added: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ (props changed) - copied from r1581194, tomcat/tc7.0.x/trunk/ Modified: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/build.properties.default Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:append = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:label = Bugzilla ID (optional) Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- --- bugtraq:message (added) +++ bugtraq:message Tue Mar 25 03:00:35 2014 @@ -0,0 +1 @@ +Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:number = true Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:url = https://issues.apache.org/bugzilla/show_bug.cgi?id=%BUGID% Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- bugtraq:warnifnoissue = false Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- --- svn:ignore (added) +++ svn:ignore Tue Mar 25 03:00:35 2014 @@ -0,0 +1,7 @@ +.* +build.properties +logs +nbproject +output +work +*.iml Propchange: tomcat/tc7.0.x/tags/TOMCAT_7_0_53/ -- --- svn:mergeinfo (added) +++ svn:mergeinfo Tue Mar 25 03:00:35 2014 @@ -0,0 +1 @@ +/tomcat/trunk:1156115-1157160,1157162-1157859,1157862-1157942,1157945-1160347,1160349-1163716,1163718-1166689,1166691-1174340,1174342-1175596,1175598-1175611,1175613-1175932,1175934-1177783,1177785-1177980,1178006-1180720,1180722-1183094,1183096-1187753,1187755,1187775,1187801,1187806,1187809,1187826-1188312,1188314-1188401,1188646-1188840,1188842-1190176,1190178-1195223,1195225-1195953,1195955,1195957-1201238,1201240-1203345,1203347-1206623,1206625-1208046,1208073,1208096,1208114,1208145,1208772,1209194-1212125,1212127-1220291,1220293,1220295-1221321,1221323-1222328,1222332-1222401,1222405-1222795,1222850-1222950,1222969-1225326,1225328-1225463,1225465,1225627,1225629-1226534,1226536-1228908,1228911-1228923,1228927-1229532,1229534-1230766,1230768-1231625,1231627-1233414,1233419-1235207,1235209-1237425,1237427,1237429-1237977,1237981,1237985,1237995,1238070,1238073,1239024-1239048,1239050-1239062,1239135,1239256,1239258-1239485,1239785-1240046,1240101,1240106,1240109,1240112,1240114 ,1240116,1240118,1240121,1240329,1240474-1240850,1240857,1241087,1241160,1241408-1241822,1241908-1241909,1241912-1242110,1242371-1292130,1292134-1292458,1292464-1292670,1292672-1292776,1292780-1293392,1293397-1297017,1297019-1297963,1297965-1299820,1300108,1300111-1300460,1300520-1300948,1300997,1301006,1301280,1302332,1302348,1302608-1302610,1302649,1302837,1303138,1303163,1303338,1303521,1303587,1303698,1303803,1303852,1304011,1304035,1304037,1304135,1304249,1304253,1304260,1304271,1304275,1304468,1304895,1304930-1304932,1305194,1305943,1305965,1306556,1306579-1306580,1307084,1307310,1307511-1307512,1307579,1307591,1307597,1310636,1310639-1310640,1310642,1310701,1311212,1311995,1327617,1327670,1331766,1333161,1333173,1333827,1334787,1335026,1335257,1335547,1335692,1335711,1335731,1336515,1336813,1336864,1336868,1336884,1337419,1337426,1337546,1337572,1337591-1337595,1337643,1337707,1337719,1337734,1337741,1337745,1338151-1338154,1338178,1342027,1342029,1342315,1342320,1342476,1342 498,1342503,1342717,1342795,1342805,1343044-1343046,1343335,1343394,1343400,1343629,1343708,1343718,1343895,1344063,1344068,1344250,1344266,1344515,1344528,1344612,1344629,1344725,1344868,1344890,1344893,1344896,1344901,1345020,1345029,1345039,1345287-1345290,1345294,1345309,1345325,1345357,1345367,1345579-1345580,1345582,1345688,1345699,1345704,1345731-1345732,1345737,1345744,1345752,1345754,1345779,1345781,1345846,1346107,1346365,1346376,1346404,1346510,1346514,1346519,1346581,1346635,1346644,1346683,1346794,1346885,1346932,1347034,1347047,1347087,1347108-1347109,1347583,1347737,1348105,1348357,1348398,1348425,1348461-1348495,1348498,1348752,1348762,1348772,1348776,1348859,1348968,1348973,1348989,1349007,1349237,1349298,1349317,1349410,1349473,1349539,1349879,1349887,1349893,1349922,1349984,1350124,1350241,1350243,1350294-1350295,1350299,1350864,1350900,1351010,1351054,1351056,1351068,1351134-1351135,1351148,1351259,1351604,1351636-1351640,1351991,1351993,1352011,1352056,1352059,1 352661,1352663,1352788,1352799,1353087,1353125,1353240,1353261,1353414,1353468,1353501,1