[Bug 61164] Add %X option to access log for connection status

2017-07-25 Thread bugzilla
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

2017-07-25 Thread bugzilla
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

2017-07-25 Thread Huxing Zhang
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

2017-07-25 Thread Bill Barker
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

2017-07-25 Thread João Paulo Lemes Machado
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

2017-07-25 Thread Coty Sutherland
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

2017-07-25 Thread Mark Thomas
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

2017-07-25 Thread 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: [VOTE] Release Apache Tomcat 8.5.19

2017-07-25 Thread Mark Thomas
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

2017-07-25 Thread João Paulo Lemes Machado
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 Thread Konstantin Kolinko
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

2017-07-25 Thread Coty Sutherland
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

2017-07-25 Thread bugzilla
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