[Bug 61164] Add %X option to access log for connection status
https://bz.apache.org/bugzilla/show_bug.cgi?id=61164 --- Comment #8 from Zemian Deng --- I have added the isIoAllowed with action code check to the PR now. Please review. -- 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 61164] Add %X option to access log for connection status
https://bz.apache.org/bugzilla/show_bug.cgi?id=61164 --- Comment #7 from Zemian Deng --- Mark, thanks for all the tips. No problem, I can re-fix the imports for better merge experience. Yes, I agree that we should support just '%X' for now until users demands the finer abort types, then we can add the extra '%x' pattern. As for the extra '%X' check with ErrorState()#isIoAllowed() == false, I assume you wanted for this patch. I can give it a try and see. Will update later. -- 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: [VOTE] Release Apache Tomcat 9.0.0.M25
The proposed 9.0.0.M25 release is: [ ] Broken - do not release [ X ] Alpha - go ahead and release as 9.0.0.M25 Unit test passed. Our test web application runs fine. -- From:Mark Thomas Time:2017 Jul 25 (Tue) 07:19 To:Tomcat Developers List Subject:[VOTE] Release Apache Tomcat 9.0.0.M25 The proposed Apache Tomcat 9.0.0.M25 release is now available for voting. This is a milestone release for the 9.0.x branch. It should be noted that, as a milestone release: - Servlet 4.0 is not finalised - The EGs have not started work on JSP 2.4, EL 3.1 or WebSocket 1.2/2.0 Note that the 9.0.0.M23 and 9.0.0.M24 release votes were cancelled due to regressions. The major changes compared to the 9.0.0.M22 release are: - Correct a regression in 9.0.0.M22 that prevented Tomcat from shutting down cleanly. - Add LoadBalancerDrainingValve, a Valve designed to reduce the amount of time required for a node to drain its authenticated users. - When generating JSP runtime error messages that quote the relevant JSP source code, switch from using the results of the JSP page parsing process to using the JSR 045 source map data to identify the correct part of the JSP source from the stack trace. This significantly reduces the memory footprint of Jasper in development mode, provides a small performance improvement for error page generation and enables source quotes to continue to be provided after a Tomcat restart. - Add support for a Tomcat specific deployment descriptor, /WEB-INF/tomcat-web.xml - Add ExtractingRoot, a new WebResourceRoot implementation that extracts JARs to the work directory for improved performance when deploying packed WAR files. Along with lots of other bug fixes and improvements. For full details, see the changelog: http://svn.apache.org/repos/asf/tomcat/trunk/webapps/docs/changelog.xml It can be obtained from: https://dist.apache.org/repos/dist/dev/tomcat/tomcat-9/v9.0.0.M25/ The Maven staging repo is: https://repository.apache.org/content/repositories/orgapachetomcat-1145/ The svn tag is: http://svn.apache.org/repos/asf/tomcat/tags/TOMCAT_9_0_0_M25/ The proposed 9.0.0.M25 release is: [ ] Broken - do not release [ ] Alpha - go ahead and release as 9.0.0.M25 - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[GUMP@vmgump-vm3]: Project tomcat-tc8.0.x-test-nio2 (in module tomcat-8.0.x) failed
To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at gene...@gump.apache.org. Project tomcat-tc8.0.x-test-nio2 has an issue affecting its community integration. This issue affects 1 projects. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - tomcat-tc8.0.x-test-nio2 : Tomcat 8.x, a web server implementing the Java Servlet 3.1, ... Full details are available at: http://vmgump-vm3.apache.org/tomcat-8.0.x/tomcat-tc8.0.x-test-nio2/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -DEBUG- Dependency on commons-daemon exists, no need to add for property commons-daemon.native.src.tgz. -DEBUG- Dependency on commons-daemon exists, no need to add for property tomcat-native.tar.gz. -INFO- Failed with reason build failed -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-8.0.x/output/logs-NIO2 -INFO- Project Reports in: /srv/gump/public/workspace/tomcat-8.0.x/output/test-tmp-NIO2/logs -WARNING- No directory [/srv/gump/public/workspace/tomcat-8.0.x/output/test-tmp-NIO2/logs] The following work was performed: http://vmgump-vm3.apache.org/tomcat-8.0.x/tomcat-tc8.0.x-test-nio2/gump_work/build_tomcat-8.0.x_tomcat-tc8.0.x-test-nio2.html Work Name: build_tomcat-8.0.x_tomcat-tc8.0.x-test-nio2 (Type: Build) Work ended in a state of : Failed Elapsed: 20 mins 59 secs Command Line: /usr/lib/jvm/java-8-oracle/bin/java -Djava.awt.headless=true -Dbuild.sysclasspath=only org.apache.tools.ant.Main -Dgump.merge=/srv/gump/public/gump/work/merge.xml -Dbase.path=/srv/gump/public/workspace/tomcat-8.0.x/tomcat-build-libs -Dexecute.test.nio2=true -Dtest.temp=output/test-tmp-NIO2 -Djunit.jar=/srv/gump/public/workspace/junit/target/junit-4.13-SNAPSHOT.jar -Dtest.accesslog=true -Dobjenesis.jar=/srv/gump/public/workspace/objenesis/main/target/objenesis-2.7-SNAPSHOT.jar -Dexamples.sources.skip=true -Dcommons-daemon.jar=/srv/gump/public/workspace/apache-commons/daemon/dist/commons-daemon-20170725.jar -Dtest.openssl.path=/srv/gump/public/workspace/openssl-1.0.2/dest-20170725/bin/openssl -Dexecute.test.nio=false -Dhamcrest.jar=/srv/gump/packages/hamcrest/hamcrest-core-1.3.jar -Dexecute.test.apr=false -Dexecute.test.bio=false -Dcommons-daemon.native.src.tgz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20170725-native-src.tar.gz -Dtest.repor ts=output/logs-NIO2 -Dtomcat-native.tar.gz=/srv/gump/public/workspace/apache-commons/daemon/dist/bin/commons-daemon-20170725-native-src.tar.gz -Djdt.jar=/srv/gump/packages/eclipse/plugins/R-4.5-201506032000/ecj-4.5.jar -Dtest.relaxTiming=true -Dtest.excludePerformance=true -Djava.net.preferIPv4Stack=/srv/gump/public/workspace/tomcat-8.0.x/true -Deasymock.jar=/srv/gump/public/workspace/easymock/core/target/easymock-3.5-SNAPSHOT.jar -Dcglib.jar=/srv/gump/packages/cglib/cglib-nodep-2.2.jar test [Working Directory: /srv/gump/public/workspace/tomcat-8.0.x] CLASSPATH: /usr/lib/jvm/java-8-oracle/lib/tools.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/webapps/examples/WEB-INF/classes:/srv/gump/public/workspace/tomcat-8.0.x/output/testclasses:/srv/gump/public/workspace/ant/dist/lib/ant.jar:/srv/gump/public/workspace/ant/dist/lib/ant-launcher.jar:/srv/gump/public/workspace/ant/dist/lib/ant-jmf.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit.jar:/srv/gump/public/workspace/ant/dist/lib/ant-junit4.jar:/srv/gump/public/workspace/ant/dist/lib/ant-swing.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-resolver.jar:/srv/gump/public/workspace/ant/dist/lib/ant-apache-xalan2.jar:/srv/gump/public/workspace/xml-commons/java/build/resolver.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/bootstrap.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/bin/tomcat-juli.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/annotations-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/servlet-api.ja r:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jsp-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/el-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/websocket-api.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-ant.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-storeconfig.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/tomcat-coyote.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/jasper-el.jar:/srv/gump/public/workspace/tomcat-8.0.x/output/build/lib/catalina-tribes.jar:/srv/gump/public/wo
Re: Opportunities for cohesion improvement and refatoring
Hi Mark, tanks for the comment. Let me take the DataSourceProxy as example. This class has 142 methods of which 112 are get () and set () methods. We could mark these methods as deprecated and copy them to a new class: DataSourceProxyConfig, but we would leave them in the DataSourceProxy class, and they would be removed gradually. Those parameters and methods would be accessed by an instance variable of DataSourceProxyConfig in DataSourceProxy. So we will keep the methods in the original class for some time so that developers who have some assumption about the class can adapt. However, when choosing the methods we could analyze their complexity. If it is a simple set () or get () that only sets or returns a value it would be prioritized. Methods that have a greater complexity, or that make calls to other methods would not be extracted at first. And if for some reason we can not make these changes (remove the methods), this strategy can be adopted to prevent these classes from growing even more. It can also be adopted as a new practice for creating new classes in the future. What do you think? 2017-07-25 10:40 GMT-03:00 Mark Thomas : > On 25/07/17 13:55, João Paulo Lemes Machado wrote: > > Hello everyone. > > > > My name is João Paulo, I am a graduate student the Federal University of > > Uberlandia, Brazil. > > > > I was analyzing the modularization of some classes of Tomcat, and I > > identified some opportunities for cohesion improvement in the following > > classes: > > > > DataSourceProxy > > ConnectionPool > > BasicDataSource > > DelegatingCallableStatement > > PoolProperties > > PoolConfiguration > > Those look to be from a mix of implementations (Commons DBCP and > Tomcat's jdbc-pool). > > This is the place to discuss changes to Tomcat's jdbc-pool. DBCP changes > should be discussed on the Apache Commons dev mailing list. > > > Could you please take a look and tell me if it's viable? > > Hard to comment without a concrete example. > > > Maybe some of these classes could benefit from some kind of refactoring > > that we can discuss. > > Maybe. What did you have in mind? > > Mark > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > >
Re: Bad tags in 8.5's github repo
On Tue, Jul 25, 2017 at 10:00 AM, Mark Thomas wrote: > On 25/07/17 12:34, Coty Sutherland wrote: >> Hi, >> >> This was noted yesterday in #tomcat: >> >> the tomcat85 repo has a tag TOMCAT_8_0_14 which has a >> message "Tag 8.5.14" ... >> but git diff TOMCAT_8_5_14 TOMCAT_8_0_14 shows no output >> >> I took a look at SVN and the tags seem right, but maybe they were >> broken and later fixed post replication? > > That was me. Sorry. I fat fingered a couple of the tag names and then > fixed them in svn. > >> The correct tags do exist in >> the github repo, but two 8.0 tags exist >> (https://github.com/apache/tomcat85/tree/TOMCAT_8_0_12 and >> https://github.com/apache/tomcat85/tree/TOMCAT_8_0_14) that are >> clearly meant for the 8.5.12 and 8.5.14 releases. >> >> Can we delete those from the github repo? > > There is a TONCAT_9_0_0_M23 one as well. > > Normally, projects can't do this but I should be able to because of my > work with the infra team. Let me try it... > > Looks like it worked. Cool, thanks for following up. > The caveat is I don't know exactly how the mirroring from ASF svn to > github works. It is possible these might get recreated at some point. Yeah :( Luckily it isn't a huge problem, but I'll keep an eye out for others to see if it comes back. It looks like the svn tags are good, so maybe its fixed now :) > Cheers, > > Mark > > - > To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org > For additional commands, e-mail: dev-h...@tomcat.apache.org > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Bad tags in 8.5's github repo
On 25/07/17 12:34, Coty Sutherland wrote: > Hi, > > This was noted yesterday in #tomcat: > > the tomcat85 repo has a tag TOMCAT_8_0_14 which has a > message "Tag 8.5.14" ... > but git diff TOMCAT_8_5_14 TOMCAT_8_0_14 shows no output > > I took a look at SVN and the tags seem right, but maybe they were > broken and later fixed post replication? That was me. Sorry. I fat fingered a couple of the tag names and then fixed them in svn. > The correct tags do exist in > the github repo, but two 8.0 tags exist > (https://github.com/apache/tomcat85/tree/TOMCAT_8_0_12 and > https://github.com/apache/tomcat85/tree/TOMCAT_8_0_14) that are > clearly meant for the 8.5.12 and 8.5.14 releases. > > Can we delete those from the github repo? There is a TONCAT_9_0_0_M23 one as well. Normally, projects can't do this but I should be able to because of my work with the infra team. Let me try it... Looks like it worked. The caveat is I don't know exactly how the mirroring from ASF svn to github works. It is possible these might get recreated at some point. Cheers, Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Opportunities for cohesion improvement and refatoring
On 25/07/17 13:55, João Paulo Lemes Machado wrote: > Hello everyone. > > My name is João Paulo, I am a graduate student the Federal University of > Uberlandia, Brazil. > > I was analyzing the modularization of some classes of Tomcat, and I > identified some opportunities for cohesion improvement in the following > classes: > > DataSourceProxy > ConnectionPool > BasicDataSource > DelegatingCallableStatement > PoolProperties > PoolConfiguration Those look to be from a mix of implementations (Commons DBCP and Tomcat's jdbc-pool). This is the place to discuss changes to Tomcat's jdbc-pool. DBCP changes should be discussed on the Apache Commons dev mailing list. > Could you please take a look and tell me if it's viable? Hard to comment without a concrete example. > Maybe some of these classes could benefit from some kind of refactoring > that we can discuss. Maybe. What did you have in mind? Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 8.5.19
On 25/07/17 12:49, Konstantin Kolinko wrote: > 2017-07-25 2:22 GMT+03:00 Mark Thomas : >> The proposed Apache Tomcat 8.5.19 release is now available for voting. >> >> The major changes compared to the 8.5.16 release are: >> >> - Enable TLS connectors to use Java key stores that contain multiple >> keys where each key has a separate password. Based on a patch by Frank >> Taffelt. >> >> - Make asynchronous error handling more robust. In particular ensure >> that onError() is called for any registered AsyncListeners after an >> I/O error on a non-container thread. >> >> - Sync SSL session access for the APR connector to prevent errors when >> accessing the session. >> >> >> Along with lots of other bug fixes and improvements. >> >> >> It can be obtained from: >> https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.19/ >> The Maven staging repo is: >> https://repository.apache.org/content/repositories/orgapachetomcat-1146/ >> The svn tag is: >> http://svn.apache.org/repos/asf/tomcat/tc8.5.x/tags/TOMCAT_8_5_19/ >> >> The proposed 8.5.19 release is: >> [ ] Broken - do not release >> [ ] Stable - go ahead and release as 8.5.19 > > The comments from several days ago in infra ticket on the signing > service issue mention that the signing service is available > https://issues.apache.org/jira/projects/INFRA/issues/INFRA-14402 It isn't fully available yet. It was generously enabled by Symantec for those projects that had a hard requirement on signing to complete their release. > The exe installer is not signed in this release (and not in 9.0.0.M25 as > well). > > > I am not voting yet - still testing. First run with Java 8 x all > connectors - almost successful, with 3 random tests failed due to > timeouts. - I think because of the PC being busy. Thanks for the update. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Opportunities for cohesion improvement and refatoring
Hello everyone. My name is João Paulo, I am a graduate student the Federal University of Uberlandia, Brazil. I was analyzing the modularization of some classes of Tomcat, and I identified some opportunities for cohesion improvement in the following classes: DataSourceProxy ConnectionPool BasicDataSource DelegatingCallableStatement PoolProperties PoolConfiguration Could you please take a look and tell me if it's viable? Maybe some of these classes could benefit from some kind of refactoring that we can discuss.
Re: [VOTE] Release Apache Tomcat 8.5.19
2017-07-25 2:22 GMT+03:00 Mark Thomas : > The proposed Apache Tomcat 8.5.19 release is now available for voting. > > The major changes compared to the 8.5.16 release are: > > - Enable TLS connectors to use Java key stores that contain multiple > keys where each key has a separate password. Based on a patch by Frank > Taffelt. > > - Make asynchronous error handling more robust. In particular ensure > that onError() is called for any registered AsyncListeners after an > I/O error on a non-container thread. > > - Sync SSL session access for the APR connector to prevent errors when > accessing the session. > > > Along with lots of other bug fixes and improvements. > > > It can be obtained from: > https://dist.apache.org/repos/dist/dev/tomcat/tomcat-8/v8.5.19/ > The Maven staging repo is: > https://repository.apache.org/content/repositories/orgapachetomcat-1146/ > The svn tag is: > http://svn.apache.org/repos/asf/tomcat/tc8.5.x/tags/TOMCAT_8_5_19/ > > The proposed 8.5.19 release is: > [ ] Broken - do not release > [ ] Stable - go ahead and release as 8.5.19 The comments from several days ago in infra ticket on the signing service issue mention that the signing service is available https://issues.apache.org/jira/projects/INFRA/issues/INFRA-14402 The exe installer is not signed in this release (and not in 9.0.0.M25 as well). I am not voting yet - still testing. First run with Java 8 x all connectors - almost successful, with 3 random tests failed due to timeouts. - I think because of the PC being busy. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Bad tags in 8.5's github repo
Hi, This was noted yesterday in #tomcat: the tomcat85 repo has a tag TOMCAT_8_0_14 which has a message "Tag 8.5.14" ... but git diff TOMCAT_8_5_14 TOMCAT_8_0_14 shows no output I took a look at SVN and the tags seem right, but maybe they were broken and later fixed post replication? The correct tags do exist in the github repo, but two 8.0 tags exist (https://github.com/apache/tomcat85/tree/TOMCAT_8_0_12 and https://github.com/apache/tomcat85/tree/TOMCAT_8_0_14) that are clearly meant for the 8.5.12 and 8.5.14 releases. Can we delete those from the github repo? Thanks, Coty - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 61164] Add %X option to access log for connection status
https://bz.apache.org/bugzilla/show_bug.cgi?id=61164 --- Comment #6 from Mark Thomas --- The updated patch looks good. Thanks. I noticed that the import order has changed. If you could undo that it would be good but it isn't a big deal to fix when the patch is applied. Regarding tracking container vs client connection abort, I was looking at AbstractProcessor#setErrorState() around line 90. Having thought about this some more, a request attribute is a bit of a hack and I think I can see a batter way. What I was thinking was to also log 'X' if AbstractProcessor#getErrorState()#isIoAllowed() returns false. The correct way to access the Processor via the Request or Response is by defining an ActionCode and calling Request#acton() or Response#action(). Take a look at ActionCode#IS_ERROR and how it is used. I am thinking ActionCode#IS_IO_ALLOWED and then call Request#action() from the access log. I'm not sure if there is value in differentiating client and container aborts. I'm leaning towards not differentiating for now. If we add support for '%X' now that does not differentiate, we can always add '%x' at a later date that does differentiate if there is demand. -- 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