DO NOT REPLY [Bug 51306] NPE in DeltaRequest.writeExternal(DeltaRequest.java:267) when handling remote session expiration
https://issues.apache.org/bugzilla/show_bug.cgi?id=51306 --- Comment #2 from Dmitry Mikhaylov 2011-06-07 07:46:15 UTC --- Our clusters vary in size from 2 to 11 Tomcats, these problems happen in all configurations. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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
DO NOT REPLY [Bug 51306] NPE in DeltaRequest.writeExternal(DeltaRequest.java:267) when handling remote session expiration
https://issues.apache.org/bugzilla/show_bug.cgi?id=51306 --- Comment #3 from Dmitry Mikhaylov 2011-06-07 07:46:49 UTC --- I'm not sure http://svn.apache.org/viewvc?view=revision&revision=818062 explains what is happening. While what the comment says is totally true, the stack trace I pasted shows that the problem happens on *secondary nodes*: while handling received remove session expiration event, for some reasons DeltaManager tries to broadcast it to the whole cluster again. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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
DO NOT REPLY [Bug 51333] New: IIS7 64bit needs Enable 32-bit Applications=False
https://issues.apache.org/bugzilla/show_bug.cgi?id=51333 Bug #: 51333 Summary: IIS7 64bit needs Enable 32-bit Applications=False Product: Tomcat Connectors Version: unspecified Platform: PC Status: NEW Severity: blocker Priority: P2 Component: Documentation AssignedTo: dev@tomcat.apache.org ReportedBy: christoph.pollm...@web.de Classification: Unclassified The IIS7 - Tomcat6 Connector howto should give a hint, that in 64bit environment the used IIS Application Pool should have "Enable 32-bit Applications" set to "False". Otherwise the isapi redirect will not be called and returns an http code 404. If you think, the 32bit version of isapi_redirect.dll would do the job instead, you will get an http code 500, because the library is not loadable. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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: r1132367 - in /tomcat/trunk: java/org/apache/coyote/http11/Http11AprProcessor.java webapps/docs/changelog.xml
On 06/06/2011 19:15, Mark Thomas wrote: > On 06/06/2011 18:43, Caldarale, Charles R wrote: >>> From: Mark Thomas [mailto:ma...@apache.org] >>> Subject: Re: svn commit: r1132367 - in /tomcat/trunk: >>> java/org/apache/coyote/http11/Http11AprProcessor.java >>> webapps/docs/changelog.xml >> >>> On 06/06/2011 09:01, Remy Maucherat wrote: I don't understand, the code reads: sendfileData = new AprEndpoint.SendfileData(); sendfileData.fileName = fileName; sendfileData.start = ((Long) request.getAttribute( "org.apache.tomcat.sendfile.start")).longValue(); sendfileData.end = ((Long) request.getAttribute( "org.apache.tomcat.sendfile.end")).longValue() - sendfileData.pos; So how can sendfileData.pos not be 0 here ? >> >>> Because when the DefaultServlet handles a range request start may be >>> non-zero. (line 1658 in trunk) >> >> That's not the issue; the question is how could sendFileData.pos be non-zero >> in an object that was just instantiated from a class that has no explicit >> constructor? > > Doh. Got it. We do need to modify the length to handle range requests, > but not like that. I got confused between the APR SendfileData and the NIO SendfileData. APR is fine - I'll revert this change and the changelog entry. Both are currently working. I will be making some further changes to align the two so I can reduce the duplication. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1132920 - in /tomcat/trunk: java/org/apache/coyote/http11/Http11AprProcessor.java webapps/docs/changelog.xml
Author: markt Date: Tue Jun 7 09:22:44 2011 New Revision: 1132920 URL: http://svn.apache.org/viewvc?rev=1132920&view=rev Log: Revert r1132367. There is no issue. I got confused between AprEndpoint.SendfileData and NioEndpoint.SendfileData Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java?rev=1132920&r1=1132919&r2=1132920&view=diff == --- tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java (original) +++ tomcat/trunk/java/org/apache/coyote/http11/Http11AprProcessor.java Tue Jun 7 09:22:44 2011 @@ -831,7 +831,7 @@ public class Http11AprProcessor extends sendfileData.start = ((Long) request.getAttribute( "org.apache.tomcat.sendfile.start")).longValue(); sendfileData.end = ((Long) request.getAttribute( -"org.apache.tomcat.sendfile.end")).longValue() - sendfileData.pos; +"org.apache.tomcat.sendfile.end")).longValue(); return true; } return false; Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1132920&r1=1132919&r2=1132920&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Jun 7 09:22:44 2011 @@ -46,10 +46,6 @@ -Correctly handle range requests when using sendfile and the APR/native -HTTP connector. (markt) - - When parsing the port in the HTTP host header, treat the port as a base 10 integer rather than a hexadecimal one. (rjung/markt/kkolinko) - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: Passive Requestor Profile WS-Federation contribution
On 07/06/2011 07:28, Oliver Wulff wrote: > > src="http://zdownload.zurich.com/mailimages/ZHP_MailHeader.gif"; /> > > Hi there > > I'd like to extend Tomcat to support the Passive Requestor Profile of > WS-Federation and contribute this to the community. > > What is the approach I should proceed? Shall I log JIRA and apply the > "patch" there? Tomcat uses Bugzilla, not Jira but apart from that, that is the right approach. Based on a quick glance at Wikipedia, this looks like something that belongs in a library that would be packaged with an application. On that basis, it is unlikely to be included with Tomcat. It is prefectly possible I have misunderstood the purpose of this so be sure so include some info in the BZ ticket as to why it is a good idea to have this in Tomcat by default. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1131263 - in /tomcat/trunk: java/org/apache/catalina/session/JDBCStore.java java/org/apache/catalina/session/LocalStrings.properties webapps/docs/changelog.xml webapps/docs/config/man
On 06/06/2011 21:40, Felix Schumacher wrote: > Am Montag, den 06.06.2011, 17:56 +0100 schrieb Mark Thomas: >> On 06/06/2011 11:59, Keiichi Fujino wrote: >>> When jdbc-pool or DBCP is used as DB connection pool and >>> removeAbandoned is "true", >>> dbConnection is closed because dbConnection is not returned to the >>> connection pool. >>> And then, dbConnection is acquired again because dbConnection has been >>> already closed. >>> >>> Should I return the connection to the connection pool? >>> Or, is the DB connection cached until removeAbandoned works? >> >> The connection should be returned to the pool. If you could take care of >> that, that would be great. Sorry for missing that when I applied the patch. > It was a conscious decision not to return the connection to the pool for > the following reasons: > 1. the original code didn't do it The expected usage of pooled connections is that they are obtained from the pool, used and then immediately returned. Removing a connection from the pool and just keeping it defeats the point of having a pool. > 2. we would have to close the prepared statements in case of pooled > connections Yes, although DBCP can pool those too (if appropriately configured). You may wish to add something on that topic to the docs, if only a link the the relevant DBCP config docs. > 3. the connection is not really abandoned, so one could argue, that you > should run the pool with removeAbandoned set to 'false' Yep, but as per 1, it isn't really following the expected conventions when using a connection pool. > But I would gladly provide a patch where connections are returned to the > pool. That would be great. Thanks. Mark > > Felix >> >> Mark >> >>> >>> >>> 2011/6/4 : Author: markt Date: Fri Jun 3 22:13:09 2011 New Revision: 1131263 URL: http://svn.apache.org/viewvc?rev=1131263&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51264 Allow the JDBC persistent session store to use a JNDI datasource to define the database in which sessions are persisted. Patch provided by Felix Schumacher. Modified: tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/config/manager.xml Modified: tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java?rev=1131263&r1=1131262&r2=1131263&view=diff == --- tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java Fri Jun 3 22:13:09 2011 @@ -33,6 +33,11 @@ import java.sql.SQLException; import java.util.ArrayList; import java.util.Properties; +import javax.naming.Context; +import javax.naming.InitialContext; +import javax.naming.NamingException; +import javax.sql.DataSource; + import org.apache.catalina.Container; import org.apache.catalina.LifecycleException; import org.apache.catalina.Loader; @@ -102,6 +107,16 @@ public class JDBCStore extends StoreBase */ protected String driverName = null; +/** + * name of the JNDI resource + */ +protected String dataSourceName = null; + +/** + * DataSource to use + */ +protected DataSource dataSource = null; + // - Table & cols /** @@ -436,6 +451,27 @@ public class JDBCStore extends StoreBase return (this.sessionLastAccessedCol); } +/** + * Set the JNDI name of a DataSource-factory to use for db access + * + * @param dataSourceName The JNDI name of the DataSource-factory + */ +public void setDataSourceName(String dataSourceName) { +if (dataSourceName == null || "".equals(dataSourceName.trim())) { +manager.getContainer().getLogger().warn( +sm.getString(getStoreName() + ".missingDataSourceName")); +return; +} +this.dataSourceName = dataSourceName; +} + +/** + * Return the name of the JNDI DataSource-factory + */ +public String getDataSourceName() { +return this.dataSourceName; +} + // - Public Methods /** @@ -866,6 +902,24 @@ public class JDBCStore extends StoreBase if (dbConnection != null) return (dbConnection); +
Antwort: Re: Passive Requestor Profile WS-Federation contribution
Hi Mark WS-Federation Passive Requestor Profile is part of the authentication mechanism within a servlet engine/app server and not part of the web application. http://docs.oasis-open.org/wsfed/federation/v1.2/ws-federation.pdf (section 13) Tomcat provides builtin support for Form based authentication and different kind of authentication backends (Realms). The described solution is just another way for authentication and authorization support (roles). Do you agree? Thanks Oliver Mark Thomas An Tomcat Developers List 06/07/2011 11:27 AM Kopie Thema Bitte antworten Re: Passive Requestor Profile an WS-Federation contribution "Tomcat Developers List" On 07/06/2011 07:28, Oliver Wulff wrote: > > src="http://zdownload.zurich.com/mailimages/ZHP_MailHeader.gif"; /> > > Hi there > > I'd like to extend Tomcat to support the Passive Requestor Profile of > WS-Federation and contribute this to the community. > > What is the approach I should proceed? Shall I log JIRA and apply the > "patch" there? Tomcat uses Bugzilla, not Jira but apart from that, that is the right approach. Based on a quick glance at Wikipedia, this looks like something that belongs in a library that would be packaged with an application. On that basis, it is unlikely to be included with Tomcat. It is prefectly possible I have misunderstood the purpose of this so be sure so include some info in the BZ ticket as to why it is a good idea to have this in Tomcat by default. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org *** BITTE BEACHTEN *** Diese Nachricht (wie auch allfällige Anhänge dazu) beinhaltet möglicherweise vertrauliche oder gesetzlich geschützte Daten oder Informationen. Zum Empfang derselben ist (sind) ausschliesslich die genannte(n) Person(en) bestimmt. Falls Sie diese Nachricht irrtümlicherweise erreicht hat, sind Sie höflich gebeten, diese unter Ausschluss jeder Reproduktion zu zerstören und die absendende Person umgehend zu benachrichtigen. Vielen Dank für Ihre Hilfe. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[PROPOSAL] Enable session replication by default.
Hi All. Tomcat7.0.15 can not replicate session if web application defines in WEB-INF/web.xml. Tomcat7.0.14 can replicate session if web application defines in WEB-INF/web.xml. The behavior of this default was changed by rev1130618. The cause is conf/web.xml is not distributable. To enable session replication by default, I thought two plans. PlanA: Add WebXml#setDistributable(true) to ContextConfig#webConfig(). Index: java/org/apache/catalina/startup/ContextConfig.java === --- java/org/apache/catalina/startup/ContextConfig.java (revision 1132530) +++ java/org/apache/catalina/startup/ContextConfig.java (working copy) @@ -1195,6 +1195,7 @@ */ WebXml webXmlDefaultFragment = createWebXml(); webXmlDefaultFragment.setOverridable(true); +webXmlDefaultFragment.setDistributable(true); // Parse global web.xml if present InputSource globalWebXml = getGlobalWebXmlSource(); PlanB: Add to conf/web.xml Index: conf/web.xml === --- conf/web.xml(revision 1127122) +++ conf/web.xml(working copy) @@ -4176,4 +4176,6 @@ index.jsp + + I intend to commit planA. Any objections or other ideas? -- Keiichi.Fujino - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 51334] New: Web SSO support based on WS-Federation Passive Requestor Profile
https://issues.apache.org/bugzilla/show_bug.cgi?id=51334 Bug #: 51334 Summary: Web SSO support based on WS-Federation Passive Requestor Profile Product: Tomcat 6 Version: unspecified Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Catalina AssignedTo: dev@tomcat.apache.org ReportedBy: oliver.wu...@zurich.ch Classification: Unclassified The specification WS-Federation describes the Web SSO solution in chapter 13: http://docs.oasis-open.org/wsfed/federation/v1.2/ws-federation.pdf Tomcat should support this standard to integrate with other SSO solutions natively. Initially, an unauthenticated request is redirected to an identity provider (IP) which issues for instance a SAML token. The IP is an external system. The SAML token is validated by Tomcat (Replying Party) and creates the security context in Tomcat. The idea is to write a custom Authenticator which triggers the redirect, verifies the signed SAML token, reads the claims information (like Role), set up a cookie and create the security context. The authenticator must provide the following configuration options: - URL of IDP (mandatory) - audience URI (mandatory) - trusted certificate (signed SAML token) (mandatory) - service (RP) keystore to decrypt encrypted SAML tokens (optional) - list of requested claims (firstname, lastname, email, ... see http://docs.oasis-open.org/imi/identity/v1.0/os/identity-1.0-spec-os.pdf) - URI of the claim which contains the roles (needed for isUserInRole()...) - token type, SAML 1.1, 2.0 -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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
Antwort: Re: Passive Requestor Profile WS-Federation contribution
I've raised the following "bug" (enhancements): https://issues.apache.org/bugzilla/show_bug.cgi?id=51334 Mark Thomas An Tomcat Developers List 06/07/2011 11:27 AM Kopie Thema Bitte antworten Re: Passive Requestor Profile an WS-Federation contribution "Tomcat Developers List" On 07/06/2011 07:28, Oliver Wulff wrote: > > src="http://zdownload.zurich.com/mailimages/ZHP_MailHeader.gif"; /> > > Hi there > > I'd like to extend Tomcat to support the Passive Requestor Profile of > WS-Federation and contribute this to the community. > > What is the approach I should proceed? Shall I log JIRA and apply the > "patch" there? Tomcat uses Bugzilla, not Jira but apart from that, that is the right approach. Based on a quick glance at Wikipedia, this looks like something that belongs in a library that would be packaged with an application. On that basis, it is unlikely to be included with Tomcat. It is prefectly possible I have misunderstood the purpose of this so be sure so include some info in the BZ ticket as to why it is a good idea to have this in Tomcat by default. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org *** BITTE BEACHTEN *** Diese Nachricht (wie auch allfällige Anhänge dazu) beinhaltet möglicherweise vertrauliche oder gesetzlich geschützte Daten oder Informationen. Zum Empfang derselben ist (sind) ausschliesslich die genannte(n) Person(en) bestimmt. Falls Sie diese Nachricht irrtümlicherweise erreicht hat, sind Sie höflich gebeten, diese unter Ausschluss jeder Reproduktion zu zerstören und die absendende Person umgehend zu benachrichtigen. Vielen Dank für Ihre Hilfe. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1131263 - in /tomcat/trunk: java/org/apache/catalina/session/JDBCStore.java java/org/apache/catalina/session/LocalStrings.properties webapps/docs/changelog.xml webapps/docs/config/man
Am Dienstag, den 07.06.2011, 10:34 +0100 schrieb Mark Thomas: > On 06/06/2011 21:40, Felix Schumacher wrote: > > Am Montag, den 06.06.2011, 17:56 +0100 schrieb Mark Thomas: > >> On 06/06/2011 11:59, Keiichi Fujino wrote: > >>> When jdbc-pool or DBCP is used as DB connection pool and > >>> removeAbandoned is "true", > >>> dbConnection is closed because dbConnection is not returned to the > >>> connection pool. > >>> And then, dbConnection is acquired again because dbConnection has been > >>> already closed. > >>> > >>> Should I return the connection to the connection pool? > >>> Or, is the DB connection cached until removeAbandoned works? > >> > >> The connection should be returned to the pool. If you could take care of > >> that, that would be great. Sorry for missing that when I applied the patch. > > It was a conscious decision not to return the connection to the pool for > > the following reasons: > > 1. the original code didn't do it > > The expected usage of pooled connections is that they are obtained from > the pool, used and then immediately returned. Removing a connection from > the pool and just keeping it defeats the point of having a pool. There would be one other usage of jndi-resources, that would be to hide password and db-user from the context. > > > 2. we would have to close the prepared statements in case of pooled > > connections > > Yes, although DBCP can pool those too (if appropriately configured). You > may wish to add something on that topic to the docs, if only a link the > the relevant DBCP config docs. done. > > > 3. the connection is not really abandoned, so one could argue, that you > > should run the pool with removeAbandoned set to 'false' > > Yep, but as per 1, it isn't really following the expected conventions > when using a connection pool. > > > But I would gladly provide a patch where connections are returned to the > > pool. > > That would be great. Thanks. I have attached it, but I could also upload it to the original bugzilla entry. I also corrected one of my previous error messages, which contained a single-tick, which was not so good. Felix > > Mark > > > > > Felix > >> > >> Mark > >> > >>> > >>> > >>> 2011/6/4 : > Author: markt > Date: Fri Jun 3 22:13:09 2011 > New Revision: 1131263 > > URL: http://svn.apache.org/viewvc?rev=1131263&view=rev > Log: > Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51264 > Allow the JDBC persistent session store to use a JNDI datasource to > define the database in which sessions are persisted. > Patch provided by Felix Schumacher. > > Modified: > tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java > tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties > tomcat/trunk/webapps/docs/changelog.xml > tomcat/trunk/webapps/docs/config/manager.xml > > Modified: tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java?rev=1131263&r1=1131262&r2=1131263&view=diff > == > --- tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java > (original) > +++ tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java Fri Jun > 3 22:13:09 2011 > @@ -33,6 +33,11 @@ import java.sql.SQLException; > import java.util.ArrayList; > import java.util.Properties; > > +import javax.naming.Context; > +import javax.naming.InitialContext; > +import javax.naming.NamingException; > +import javax.sql.DataSource; > + > import org.apache.catalina.Container; > import org.apache.catalina.LifecycleException; > import org.apache.catalina.Loader; > @@ -102,6 +107,16 @@ public class JDBCStore extends StoreBase > */ > protected String driverName = null; > > +/** > + * name of the JNDI resource > + */ > +protected String dataSourceName = null; > + > +/** > + * DataSource to use > + */ > +protected DataSource dataSource = null; > + > // - > Table & cols > > /** > @@ -436,6 +451,27 @@ public class JDBCStore extends StoreBase > return (this.sessionLastAccessedCol); > } > > +/** > + * Set the JNDI name of a DataSource-factory to use for db access > + * > + * @param dataSourceName The JNDI name of the DataSource-factory > + */ > +public void setDataSourceName(String dataSourceName) { > +if (dataSourceName == null || "".equals(dataSourceName.trim())) > { > +manager.getContainer().getLogger().warn( > +sm.getString
Re: svn commit: r1131263 - in /tomcat/trunk: java/org/apache/catalina/session/JDBCStore.java java/org/apache/catalina/session/LocalStrings.properties webapps/docs/changelog.xml webapps/docs/config/man
On 07/06/2011 13:22, Felix Schumacher wrote: > Am Dienstag, den 07.06.2011, 10:34 +0100 schrieb Mark Thomas: >> On 06/06/2011 21:40, Felix Schumacher wrote: >>> But I would gladly provide a patch where connections are returned to the >>> pool. >> >> That would be great. Thanks. > I have attached it, but I could also upload it to the original bugzilla > entry. Please do. It is easy to forget stuff attached to messages on the dev list. Also, please re-open the issue - that way it won't get forgotten. > I also corrected one of my previous error messages, which contained a > single-tick, which was not so good. Great. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 51264] Context/Manager/Store configuration proposal
https://issues.apache.org/bugzilla/show_bug.cgi?id=51264 Felix Schumacher changed: What|Removed |Added Status|RESOLVED|REOPENED Resolution|FIXED | --- Comment #5 from Felix Schumacher 2011-06-07 13:26:37 UTC --- Pooled connections should be released as early as possible. Otherwise "removeAbandoned" will likely cause havoc. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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
DO NOT REPLY [Bug 51264] Context/Manager/Store configuration proposal
https://issues.apache.org/bugzilla/show_bug.cgi?id=51264 --- Comment #6 from Felix Schumacher 2011-06-07 13:28:44 UTC --- Created attachment 27125 --> https://issues.apache.org/bugzilla/attachment.cgi?id=27125 return pooled connections as early as poosible -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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: [PROPOSAL] Enable session replication by default.
On 07/06/2011 12:37, Keiichi Fujino wrote: > Hi All. > > Tomcat7.0.15 can not replicate session if web application defines > in WEB-INF/web.xml. > Tomcat7.0.14 can replicate session if web application defines > in WEB-INF/web.xml. > The behavior of this default was changed by rev1130618. > The cause is conf/web.xml is not distributable. That is enough to stop the 7.0.15 release in my view. > To enable session replication by default, > I thought two plans. > > PlanA: > Add WebXml#setDistributable(true) to ContextConfig#webConfig(). > > Index: java/org/apache/catalina/startup/ContextConfig.java > === > --- java/org/apache/catalina/startup/ContextConfig.java (revision > 1132530) > +++ java/org/apache/catalina/startup/ContextConfig.java (working copy) > @@ -1195,6 +1195,7 @@ > */ > WebXml webXmlDefaultFragment = createWebXml(); > webXmlDefaultFragment.setOverridable(true); > +webXmlDefaultFragment.setDistributable(true); > > // Parse global web.xml if present > InputSource globalWebXml = getGlobalWebXmlSource(); > I intend to commit planA. > Any objections or other ideas? None here. 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 7.0.15
On 04/06/2011 21:21, Mark Thomas wrote: > The proposed Apache Tomcat 7.0.15 release is now available for voting. > > It can be obtained from: > http://people.apache.org/~markt/dev/tomcat-7/v7.0.15/ > The svn tag is: > http://svn.apache.org/repos/asf/tomcat/tc7.0.x/tags/TOMCAT_7_0_15/ > > The proposed 7.0.15 release is: > > [X] Broken - do not release As per the distributable issue raised by kfujino > [ ] Alpha - go ahead and release as 7.0.15 Alpha > [ ] Beta - go ahead and release as 7.0.15 Beta > [ ] Stable - go ahead and release as 7.0.15 Stable Unit tests pass on 64-bit Windows. EL 2.2 TCK passes on 64-bit linux JSP 2.2 TCK passes with all 3 HTTP connectors on 64-bit linux Servlet 3.0 TCK passes with all combinations of Tomcat connector (HTTP/AJP, BIO/NIO/APR) and httpd module (none, mod_jk, mod_proxy_ajp, mod_proxy_http) There are a few Javadoc errors (already fixed in svn for next version) ASF Jira is running on 7.0.15 without issue. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 51324] When OutputBuffer.doFlush gets Exception, doFlush gets stuck to true
https://issues.apache.org/bugzilla/show_bug.cgi?id=51324 Mark Thomas changed: What|Removed |Added Attachment #27122|0 |1 is patch|| Attachment #27122|application/octet-stream|text/plain mime type|| -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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: r1133014 - in /tomcat/trunk: java/org/apache/catalina/connector/OutputBuffer.java webapps/docs/changelog.xml
Author: markt Date: Tue Jun 7 14:00:16 2011 New Revision: 1133014 URL: http://svn.apache.org/viewvc?rev=1133014&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51324 Improve handling of exceptions when flushing the response buffer to ensure that the doFlush flag does not get stuck in the enabled state. Patch provided by Jeremy Norris. Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java?rev=1133014&r1=1133013&r2=1133014&view=diff == --- tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java (original) +++ tomcat/trunk/java/org/apache/catalina/connector/OutputBuffer.java Tue Jun 7 14:00:16 2011 @@ -228,6 +228,7 @@ public class OutputBuffer extends Writer bb.recycle(); closed = false; +doFlush = false; suspended = false; if (conv!= null) { @@ -310,15 +311,18 @@ public class OutputBuffer extends Writer if (suspended) return; -doFlush = true; -if (initial) { -coyoteResponse.sendHeaders(); -initial = false; -} -if (bb.getLength() > 0) { -bb.flushBuffer(); +try { +doFlush = true; +if (initial) { +coyoteResponse.sendHeaders(); +initial = false; +} +if (bb.getLength() > 0) { +bb.flushBuffer(); +} +} finally { +doFlush = false; } -doFlush = false; if (realFlush) { coyoteResponse.action(ActionCode.CLIENT_FLUSH, Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1133014&r1=1133013&r2=1133014&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Jun 7 14:00:16 2011 @@ -43,6 +43,15 @@ Other --> + + + +51324: Improve handling of exceptions when flushing the +response buffer to ensure that the doFlush flag does not get stuck in +the enabled state. Patch provided by Jeremy Norris. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 51324] When OutputBuffer.doFlush gets Exception, doFlush gets stuck to true
https://issues.apache.org/bugzilla/show_bug.cgi?id=51324 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution||FIXED --- Comment #3 from Mark Thomas 2011-06-07 14:00:47 UTC --- Thanks for the patch. This has been fixed in 7.0.x and will be included in 7.0.16 onwards. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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
DO NOT REPLY [Bug 51334] Web SSO support based on WS-Federation Passive Requestor Profile
https://issues.apache.org/bugzilla/show_bug.cgi?id=51334 Mark Thomas changed: What|Removed |Added Component|Catalina|Catalina Version|unspecified |trunk Product|Tomcat 6|Tomcat 7 Target Milestone|default |--- Severity|normal |enhancement --- Comment #1 from Mark Thomas 2011-06-07 14:59:36 UTC --- If implemented, I don't see this being back-ported to 6 so moving to Tomcat 7. Marking as an enhancement. As with any enhancement, providing a patch greatly increases the chances of it getting into the code base. Without a patch or a committer interested in implementing the feature it will eventually get resolved as WONTFIX. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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
DO NOT REPLY [Bug 38546] Google bot sends invalid If-Modifed-Since Header, Tomcat throws exception
https://issues.apache.org/bugzilla/show_bug.cgi?id=38546 Mark Thomas changed: What|Removed |Added Status|NEEDINFO|RESOLVED Resolution||WONTFIX --- Comment #6 from Mark Thomas 2011-06-07 15:01:26 UTC --- No patch, no interest from committers so resolove as WONTFIX. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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
DO NOT REPLY [Bug 51264] Context/Manager/Store configuration proposal
https://issues.apache.org/bugzilla/show_bug.cgi?id=51264 Felix Schumacher changed: What|Removed |Added Platform|PC |All Version|unspecified |trunk OS/Version|Windows XP |All -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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: [PROPOSAL] Enable session replication by default.
2011/6/7 Keiichi Fujino : > Hi All. > > Tomcat7.0.15 can not replicate session if web application defines > in WEB-INF/web.xml. > Tomcat7.0.14 can replicate session if web application defines > in WEB-INF/web.xml. > The behavior of this default was changed by rev1130618. > The cause is conf/web.xml is not distributable. > > To enable session replication by default, > I thought two plans. > > PlanA: > PlanB: -1 IIRC configuring the webapp as has observable consequence that each attribute assigned to a session will be checked whether it implements of the Serializable interface. It will mean that some webapps will stop working in the default configuration. Thus we cannot assume that "distributable" flag is true by default. I suspect that specification implies that "distributable" flag defaults to false. I have not checked the text though. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 51264] Context/Manager/Store configuration proposal
https://issues.apache.org/bugzilla/show_bug.cgi?id=51264 Felix Schumacher changed: What|Removed |Added Attachment #27125|0 |1 is obsolete|| --- Comment #7 from Felix Schumacher 2011-06-07 15:21:51 UTC --- Created attachment 27127 --> https://issues.apache.org/bugzilla/attachment.cgi?id=27127 return pooled connections as early as poosible remove can now reuse a connection. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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: [PROPOSAL] Enable session replication by default.
On 07/06/2011 16:21, Konstantin Kolinko wrote: > 2011/6/7 Keiichi Fujino : >> Hi All. >> >> Tomcat7.0.15 can not replicate session if web application defines >> in WEB-INF/web.xml. >> Tomcat7.0.14 can replicate session if web application defines >> in WEB-INF/web.xml. >> The behavior of this default was changed by rev1130618. >> The cause is conf/web.xml is not distributable. >> >> To enable session replication by default, >> I thought two plans. >> >> PlanA: >> PlanB: > > -1 > > IIRC configuring the webapp as has observable > consequence that each attribute assigned to a session will be checked > whether it implements of the Serializable interface. It will mean that > some webapps will stop working in the default configuration. > > Thus we cannot assume that "distributable" flag is true by default. I > suspect that specification implies that "distributable" flag defaults > to false. I have not checked the text though. The proposed patch doesn't do that. It marks the defaultFragment as distributable which means that the main web.xml file still determines the final state of distributable. Without marking the defaultFragment as distributable, a web-app can never be distributable. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133112 - /tomcat/trunk/conf/catalina.properties
Author: markt Date: Tue Jun 7 17:51:43 2011 New Revision: 1133112 URL: http://svn.apache.org/viewvc?rev=1133112&view=rev Log: Add a few more exclusions Modified: tomcat/trunk/conf/catalina.properties Modified: tomcat/trunk/conf/catalina.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/conf/catalina.properties?rev=1133112&r1=1133111&r2=1133112&view=diff == --- tomcat/trunk/conf/catalina.properties (original) +++ tomcat/trunk/conf/catalina.properties Tue Jun 7 17:51:43 2011 @@ -92,12 +92,14 @@ catalina.jar,catalina-ant.jar,catalina-h jasper.jar,jasper-el.jar,ecj-*.jar,\ tomcat-api.jar,tomcat-util.jar,tomcat-coyote.jar,tomcat-dbcp.jar,\ tomcat-i18n-en.jar,tomcat-i18n-es.jar,tomcat-i18n-fr.jar,tomcat-i18n-ja.jar,\ -commons-beanutils*.jar,commons-collections*.jar,commons-dbcp*.jar,\ -commons-digester*.jar,commons-fileupload*.jar,commons-io*.jar,\ -commons-logging*.jar,commons-math*.jar,commons-pool*.jar,\ +commons-beanutils*.jar,commons-codec*.jar,commons-collections*.jar,\ +commons-dbcp*.jar,commons-digester*.jar,commons-fileupload*.jar,\ +commons-httpclient*.jar,commons-io*.jar,commons-lang*.jar,commons-logging*.jar,\ +commons-math*.jar,commons-pool*.jar,\ jstl.jar,\ geronimo-spec-jaxrpc*.jar,wsdl4j*.jar,\ -ant.jar,jmx.jar,hibernate*.jar,jmx-tools.jar,jta*.jar,log4j*.jar,slf4j*.jar\ +ant.jar,aspectj*.jar,jmx.jar,h2*.jar,hibernate*.jar,httpclient*.jar,\ +jmx-tools.jar,jta*.jar,log4j*.jar,mail*.jar,slf4j*.jar,\ xercesImpl.jar,xmlParserAPIs.jar,xml-apis.jar,\ dnsns.jar,ldapsec.jar,localedata.jar,sunjce_provider.jar,sunpkcs11.jar,tools.jar,\ apple_provider.jar,AppleScriptEngine.jar,CoreAudio.jar,dns_sd.jar,\ - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133122 - in /tomcat/trunk: java/org/apache/jasper/compiler/TldLocationsCache.java java/org/apache/jasper/resources/LocalStrings.properties webapps/docs/changelog.xml
Author: markt Date: Tue Jun 7 18:18:06 2011 New Revision: 1133122 URL: http://svn.apache.org/viewvc?rev=1133122&view=rev Log: Don't overwhelm logs with TLD scanning messages but make users aware there is room for improvement and tell them how to get at the detail. Modified: tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java?rev=1133122&r1=1133121&r2=1133122&view=diff == --- tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java Tue Jun 7 18:18:06 2011 @@ -96,6 +96,10 @@ public class TldLocationsCache { // Names of JARs that are known not to contain any TLDs private static Set noTldJars = null; +// Flag that indicates that an INFO level message has been provided that +// there are JARs that could be skipped +private static volatile boolean showTldScanWarning = true; + /** * The mapping of the 'global' tag library URI to the location (resource * path) of the TLD associated with that tag library. The location is @@ -438,8 +442,15 @@ public class TldLocationsCache { } if (!foundTld) { -log.info(Localizer.getMessage("jsp.tldCache.noTldInJar", -resourcePath)); +if (log.isDebugEnabled()) { +log.debug(Localizer.getMessage("jsp.tldCache.noTldInJar", +resourcePath)); +} else if (showTldScanWarning) { +// Not entirely thread-safe but a few duplicate log messages are +// not a huge issue +showTldScanWarning = true; +log.info(Localizer.getMessage("jsp.tldCache.noTldSummary")); +} } } Modified: tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties?rev=1133122&r1=1133121&r2=1133122&view=diff == --- tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/jasper/resources/LocalStrings.properties Tue Jun 7 18:18:06 2011 @@ -491,3 +491,4 @@ jsp.message.jsp_unload_check=Checking JS xmlParser.skipBomFail=Failed to skip BOM when parsing XML input stream jsp.tldCache.noTldInJar=No TLD files were found in [{0}]. Consider adding the JAR to to the tomcat.util.scan.DefaultJarScanner.jarsToSkip in CATALINA_BASE/catalina.properties +jsp.tldCache.noTldSummary=At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned where no TLDs were found. Skipping JAR scanning can improve startup time and JSP compilation time. \ No newline at end of file Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1133122&r1=1133121&r2=1133122&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Jun 7 18:18:06 2011 @@ -60,6 +60,16 @@ + + + +Change JAR scanning log messages where no TLDs are found to DEBUG level +and replace the multiple messages with a single INFO level message that +indicates that at least one JAR was scanned needlessly and how to obtain +more info. (markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [PROPOSAL] Enable session replication by default.
Keiichi, On 6/7/2011 7:37 AM, Keiichi Fujino wrote: > Index: conf/web.xml > === > --- conf/web.xml (revision 1127122) > +++ conf/web.xml (working copy) > @@ -4176,4 +4176,6 @@ > index.jsp > > > + > + > -1 This will cause web applications to fail when adding session attributes that are not Serializable. -chris signature.asc Description: OpenPGP digital signature
Re: [PROPOSAL] Enable session replication by default.
On 07/06/2011 19:30, Christopher Schultz wrote: > Keiichi, > > On 6/7/2011 7:37 AM, Keiichi Fujino wrote: >> Index: conf/web.xml >> === >> --- conf/web.xml (revision 1127122) >> +++ conf/web.xml (working copy) >> @@ -4176,4 +4176,6 @@ >> index.jsp >> >> >> + >> + >> > > -1 > > This will cause web applications to fail when adding session attributes > that are not Serializable. Not it won't. This is *not* changing the default value of distributable. 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 7.0.15
Mark, On 6/4/2011 4:21 PM, Mark Thomas wrote: > The proposed Apache Tomcat 7.0.15 release is now available for voting. > > The proposed 7.0.15 release is: > > [X] Broken - do not release Based upon broken capability. :( -chris signature.asc Description: OpenPGP digital signature
svn commit: r1133127 - /tomcat/trunk/webapps/docs/changelog.xml
Author: markt Date: Tue Jun 7 18:42:36 2011 New Revision: 1133127 URL: http://svn.apache.org/viewvc?rev=1133127&view=rev Log: Prep for 7.0.16 tag 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=1133127&r1=1133126&r2=1133127&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Jun 7 18:42:36 2011 @@ -58,6 +58,10 @@ When parsing the port in the HTTP host header, treat the port as a base 10 integer rather than a hexadecimal one. (rjung/markt/kkolinko) + +Various refactorings to reduce code duplication and unnecessary code in +the connectors. (markt) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133128 - /tomcat/trunk/webapps/docs/changelog.xml
Author: markt Date: Tue Jun 7 18:43:03 2011 New Revision: 1133128 URL: http://svn.apache.org/viewvc?rev=1133128&view=rev Log: 7.0.15 was broken 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=1133128&r1=1133127&r2=1133128&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Jun 7 18:43:03 2011 @@ -83,7 +83,7 @@ - + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
DO NOT REPLY [Bug 51337] New: java.lang.NullPointerException org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createPackage(LookupEnvironment.java:639)
https://issues.apache.org/bugzilla/show_bug.cgi?id=51337 Bug #: 51337 Summary: java.lang.NullPointerException org.eclipse.jdt.internal.compiler.lookup.LookupEnviron ment.createPackage(LookupEnvironment.java:639) Product: Tomcat 7 Version: 7.0.2 Platform: PC OS/Version: Windows Vista Status: NEW Severity: blocker Priority: P2 Component: Jasper AssignedTo: dev@tomcat.apache.org ReportedBy: mgai...@hotmail.com Classification: Unclassified http://localhost:8080/examples/jsp/jsp2/el/basic-arithmetic.jsp causes: org.apache.jasper.JasperException: java.lang.NullPointerException org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:528) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:359) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) root cause java.lang.NullPointerException org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createPackage(LookupEnvironment.java:639) org.eclipse.jdt.internal.compiler.lookup.CompilationUnitScope.buildTypeBindings(CompilationUnitScope.java:86) org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.buildTypeBindings(LookupEnvironment.java:147) org.eclipse.jdt.internal.compiler.Compiler.internalBeginToCompile(Compiler.java:590) org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:357) org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:371) org.apache.jasper.compiler.JDTCompiler.(JDTCompiler.java:193) org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:326) org.apache.jasper.JspCompilationContext.createCompiler(JspCompilationContext.java:244) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:673) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:316) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:265) javax.servlet.http.HttpServlet.service(HttpServlet.java:722) TC 7.02 java -version java version "1.6.0_16" Java(TM) SE Runtime Environment (build 1.6.0_16-b01) Java HotSpot(TM) Client VM (build 14.2-b01, mixed mode) -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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
DO NOT REPLY [Bug 51337] java.lang.NullPointerException org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createPackage(LookupEnvironment.java:639)
https://issues.apache.org/bugzilla/show_bug.cgi?id=51337 Martin Gainty changed: What|Removed |Added CC||mgai...@hotmail.com -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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: r1133131 - /tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties
Author: markt Date: Tue Jun 7 19:04:41 2011 New Revision: 1133131 URL: http://svn.apache.org/viewvc?rev=1133131&view=rev Log: Don't use a single quote in the message Modified: tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties Modified: tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties?rev=1133131&r1=1133130&r2=1133131&view=diff == --- tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties (original) +++ tomcat/trunk/java/org/apache/catalina/session/LocalStrings.properties Tue Jun 7 19:04:41 2011 @@ -27,7 +27,7 @@ JDBCStore.checkConnectionDBClosed=The da JDBCStore.checkConnectionDBReOpenFail=The re-open on the database failed. The database could be down. JDBCStore.checkConnectionSQLException=A SQL exception occurred {0} JDBCStore.checkConnectionClassNotFoundException=JDBC driver class not found {0} -JDBCStore.wrongDataSource=Can't open JNDI DataSource [{0}] +JDBCStore.wrongDataSource=Cannot open JNDI DataSource [{0}] JDBCStore.missingDataSourceName=No valid JNDI name was given. managerBase.createRandom=Created random number generator for session ID generation in {0}ms. managerBase.createSession.ise=createSession: Too many active sessions - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [PROPOSAL] Enable session replication by default.
Mark, On 6/7/2011 2:36 PM, Mark Thomas wrote: > On 07/06/2011 19:30, Christopher Schultz wrote: >> Keiichi, >> >> On 6/7/2011 7:37 AM, Keiichi Fujino wrote: >>> Index: conf/web.xml >>> === >>> --- conf/web.xml(revision 1127122) >>> +++ conf/web.xml(working copy) >>> @@ -4176,4 +4176,6 @@ >>> index.jsp >>> >>> >>> + >>> + >>> >> >> -1 >> >> This will cause web applications to fail when adding session attributes >> that are not Serializable. > > Not it won't. This is *not* changing the default value of distributable. That flag is in conf/web.xml, which I assumed set defaults for all web applications. Is handled differently than, say, or anything else we put into conf/web.xml? I apologize for not having read the code at this point. -chris signature.asc Description: OpenPGP digital signature
DO NOT REPLY [Bug 51337] java.lang.NullPointerException org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createPackage(LookupEnvironment.java:639)
https://issues.apache.org/bugzilla/show_bug.cgi?id=51337 --- Comment #1 from Christopher Schultz 2011-06-07 19:09:51 UTC --- How about with TC 7.0.14? -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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
DO NOT REPLY [Bug 51337] java.lang.NullPointerException org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createPackage(LookupEnvironment.java:639)
https://issues.apache.org/bugzilla/show_bug.cgi?id=51337 Mark Thomas changed: What|Removed |Added Status|NEW |RESOLVED Resolution||INVALID --- Comment #2 from Mark Thomas 2011-06-07 19:19:57 UTC --- Old version, no steps to reproduce. The users list is the place to seek help in the first instance. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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: [PROPOSAL] Enable session replication by default.
On 07/06/2011 20:08, Christopher Schultz wrote: > Mark, > > On 6/7/2011 2:36 PM, Mark Thomas wrote: >> On 07/06/2011 19:30, Christopher Schultz wrote: >>> Keiichi, >>> >>> On 6/7/2011 7:37 AM, Keiichi Fujino wrote: Index: conf/web.xml === --- conf/web.xml (revision 1127122) +++ conf/web.xml (working copy) @@ -4176,4 +4176,6 @@ index.jsp + + >>> >>> -1 >>> >>> This will cause web applications to fail when adding session attributes >>> that are not Serializable. >> >> Not it won't. This is *not* changing the default value of distributable. > > That flag is in conf/web.xml, which I assumed set > defaults for all web applications. Is handled > differently than, say, or anything else we put into > conf/web.xml? Yes. The defaults are now treated as a fragment. When merging the main web.xml with fragments, all the fragments and the main web.xml have to have to be distributable for the result to be distributable. The default distributable setting for main web.xml is false. The default distributable setting for web-fragment.xml in JARs is false. By default, distributable is therefore false. Only if the main web.xml and all of the fragments are marked as distributable will the application be distributable. The defaults are marked as distributable (in code) so they do not prevent an app from being distributable. > I apologize for not having read the code at this point. I forgive you. This time. :) Mark > > -chris > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133134 - in /tomcat/trunk: java/org/apache/catalina/session/JDBCStore.java webapps/docs/changelog.xml webapps/docs/config/manager.xml
Author: markt Date: Tue Jun 7 19:28:42 2011 New Revision: 1133134 URL: http://svn.apache.org/viewvc?rev=1133134&view=rev Log: Fix https://issues.apache.org/bugzilla/show_bug.cgi?id=51264 Improve fix to return connections to the pool when not in use. Patch provided by Felix Schumacher. Modified: tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java tomcat/trunk/webapps/docs/changelog.xml tomcat/trunk/webapps/docs/config/manager.xml Modified: tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java?rev=1133134&r1=1133133&r2=1133134&view=diff == --- tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java (original) +++ tomcat/trunk/java/org/apache/catalina/session/JDBCStore.java Tue Jun 7 19:28:42 2011 @@ -711,16 +711,7 @@ public class JDBCStore extends StoreBase } try { -if (preparedRemoveSql == null) { -String removeSql = "DELETE FROM " + sessionTable -+ " WHERE " + sessionIdCol + " = ? AND " -+ sessionAppCol + " = ?"; -preparedRemoveSql = _conn.prepareStatement(removeSql); -} - -preparedRemoveSql.setString(1, id); -preparedRemoveSql.setString(2, getName()); -preparedRemoveSql.execute(); +remove(id, _conn); // Break out after the finally block numberOfTries = 0; } catch (SQLException e) { @@ -740,6 +731,28 @@ public class JDBCStore extends StoreBase } /** + * Remove the Session with the specified session identifier from + * this Store, if present. If no such Session is present, this method + * takes no action. + * + * @param id Session identifier of the Session to be removed + * @param _conn open connection to be used + * @throws SQLException if an error occurs while talking to the database + */ +private void remove(String id, Connection _conn) throws SQLException { +if (preparedRemoveSql == null) { +String removeSql = "DELETE FROM " + sessionTable ++ " WHERE " + sessionIdCol + " = ? AND " ++ sessionAppCol + " = ?"; +preparedRemoveSql = _conn.prepareStatement(removeSql); +} + +preparedRemoveSql.setString(1, id); +preparedRemoveSql.setString(2, getName()); +preparedRemoveSql.execute(); +} + +/** * Remove all of the Sessions in this Store. * * @exception IOException if an input/output error occurs @@ -799,12 +812,12 @@ public class JDBCStore extends StoreBase return; } -// If sessions already exist in DB, remove and insert again. -// TODO: -// * Check if ID exists in database and if so use UPDATE. -remove(session.getIdInternal()); - try { +// If sessions already exist in DB, remove and insert again. +// TODO: +// * Check if ID exists in database and if so use UPDATE. +remove(session.getIdInternal(), _conn); + bos = new ByteArrayOutputStream(); oos = new ObjectOutputStream(new BufferedOutputStream(bos)); @@ -874,11 +887,13 @@ public class JDBCStore extends StoreBase * @return Connection if the connection succeeded */ protected Connection getConnection() { +Connection conn = null; try { -if (dbConnection == null || dbConnection.isClosed()) { +conn = open(); +if (conn == null || conn.isClosed()) { manager.getContainer().getLogger().info(sm.getString(getStoreName() + ".checkConnectionDBClosed")); -open(); -if (dbConnection == null || dbConnection.isClosed()) { +conn = open(); +if (conn == null || conn.isClosed()) { manager.getContainer().getLogger().info(sm.getString(getStoreName() + ".checkConnectionDBReOpenFail")); } } @@ -887,7 +902,7 @@ public class JDBCStore extends StoreBase ex.toString())); } -return dbConnection; +return conn; } /** @@ -916,8 +931,7 @@ public class JDBCStore extends StoreBase } if (dataSource != null) { -dbConnection = dataSource.getConnection(); -return dbConnection; +return dataSource.getConnection(); } // Instantiate our database driver if necessary @@ -1014,13 +1028,15 @@ public
DO NOT REPLY [Bug 51264] Context/Manager/Store configuration proposal
https://issues.apache.org/bugzilla/show_bug.cgi?id=51264 Mark Thomas changed: What|Removed |Added Status|REOPENED|RESOLVED Resolution||FIXED --- Comment #8 from Mark Thomas 2011-06-07 19:29:10 UTC --- Fixed in 7.0.x (with some minor tweaks) and will be in 7.0.16 onwards. -- Configure bugmail: https://issues.apache.org/bugzilla/userprefs.cgi?tab=email --- 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: [PROPOSAL] Enable session replication by default.
web apps whose web.xml does not specify distributable should certainly not be treated as such -- that would be a spec violation and break lots of web apps. On 6/7/2011 2:08 PM, Christopher Schultz wrote: Mark, On 6/7/2011 2:36 PM, Mark Thomas wrote: On 07/06/2011 19:30, Christopher Schultz wrote: Keiichi, On 6/7/2011 7:37 AM, Keiichi Fujino wrote: Index: conf/web.xml === --- conf/web.xml(revision 1127122) +++ conf/web.xml(working copy) @@ -4176,4 +4176,6 @@ index.jsp + + -1 This will cause web applications to fail when adding session attributes that are not Serializable. Not it won't. This is *not* changing the default value of distributable. That flag is in conf/web.xml, which I assumed set defaults for all web applications. Is handled differently than, say, or anything else we put into conf/web.xml? I apologize for not having read the code at this point. -chris - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [PROPOSAL] Enable session replication by default.
On 07/06/2011 20:24, Jess Holle wrote: > web apps whose web.xml does not specify distributable should certainly > not be treated as such -- that would be a spec violation and break lots > of web apps. How many times do I have to write this? This is NOT what is being proposed. All the proposed change does is fix a regression that prevents *any* web application for declaring itself as distributable. Mark > > On 6/7/2011 2:08 PM, Christopher Schultz wrote: >> Mark, >> >> On 6/7/2011 2:36 PM, Mark Thomas wrote: >>> On 07/06/2011 19:30, Christopher Schultz wrote: Keiichi, On 6/7/2011 7:37 AM, Keiichi Fujino wrote: > Index: conf/web.xml > === > --- conf/web.xml(revision 1127122) > +++ conf/web.xml(working copy) > @@ -4176,4 +4176,6 @@ > index.jsp > > > + > + > -1 This will cause web applications to fail when adding session attributes that are not Serializable. >>> Not it won't. This is *not* changing the default value of distributable. >> That flag is in conf/web.xml, which I assumed set >> defaults for all web applications. Is handled >> differently than, say, or anything else we put into >> conf/web.xml? >> >> I apologize for not having read the code at this point. >> >> -chris >> > > > - > 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: [PROPOSAL] Enable session replication by default.
On 07.06.2011 21:39, Mark Thomas wrote: > On 07/06/2011 20:24, Jess Holle wrote: >> web apps whose web.xml does not specify distributable should certainly >> not be treated as such -- that would be a spec violation and break lots >> of web apps. > > How many times do I have to write this? This is NOT what is being > proposed. All the proposed change does is fix a regression that prevents > *any* web application for declaring itself as distributable. +1 to that change and to 7.0.15 is broken. Regards, Rainer - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [PROPOSAL] Enable session replication by default.
On 07/06/2011 21:54, Rainer Jung wrote: > On 07.06.2011 21:39, Mark Thomas wrote: >> On 07/06/2011 20:24, Jess Holle wrote: >>> web apps whose web.xml does not specify distributable should certainly >>> not be treated as such -- that would be a spec violation and break lots >>> of web apps. >> >> How many times do I have to write this? This is NOT what is being >> proposed. All the proposed change does is fix a regression that prevents >> *any* web application for declaring itself as distributable. > > +1 to that change and to 7.0.15 is broken. I've confirmed with testing that the proposed fix does exactly what is intended and fixes the regression. I'll be committing it shortly. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [PROPOSAL] Enable session replication by default.
2011/6/8 Mark Thomas : > On 07/06/2011 21:54, Rainer Jung wrote: >> On 07.06.2011 21:39, Mark Thomas wrote: >>> On 07/06/2011 20:24, Jess Holle wrote: web apps whose web.xml does not specify distributable should certainly not be treated as such -- that would be a spec violation and break lots of web apps. >>> >>> How many times do I have to write this? This is NOT what is being >>> proposed. All the proposed change does is fix a regression that prevents >>> *any* web application for declaring itself as distributable. >> >> +1 to that change and to 7.0.15 is broken. > > I've confirmed with testing that the proposed fix does exactly what is > intended and fixes the regression. I'll be committing it shortly. > I reviewed it and am revoking my veto wrt. Plan A. +1 to the change to ContextConfig.java, BTW, two minor thoughts wrt. o.a.c.startup.ContextConfig#webConfig() 1) Line 1208 // Parse host level web.xml if present // Additive apart from welcome pages webXml.setReplaceWelcomeFiles(true); InputSource hostWebXml = getHostWebXmlSource(); parseWebXml(hostWebXml, webXmlDefaultFragment, false); The "webXml.setReplaceWelcomeFiles(true);" call is needed, but from the comment it seems to me that webXmlDefaultFragment.setReplaceWelcomeFiles(true); is also needed here, because webXmlDefaultFragment is the argument to parseWebXml() call and not webXml. 2) Line 1223: All of the code below // Assuming 0 is safe for what is required in this case double webXmlVersion = 0; if (webXml.getVersion() != null) { webXmlVersion = Double.parseDouble(webXml.getVersion()); } if (webXmlVersion >= 3) { Just can be replaced with one line if (webXml.getMajorVersion() >= 3) { Note, that webXml.getVersion() never returns null. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133170 - /tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
Author: kkolinko Date: Tue Jun 7 21:56:16 2011 New Revision: 1133170 URL: http://svn.apache.org/viewvc?rev=1133170&view=rev Log: Followup to r1133122 if(flag) set flag:=false Modified: tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java Modified: tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java?rev=1133170&r1=1133169&r2=1133170&view=diff == --- tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java (original) +++ tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java Tue Jun 7 21:56:16 2011 @@ -448,7 +448,7 @@ public class TldLocationsCache { } else if (showTldScanWarning) { // Not entirely thread-safe but a few duplicate log messages are // not a huge issue -showTldScanWarning = true; +showTldScanWarning = false; log.info(Localizer.getMessage("jsp.tldCache.noTldSummary")); } } - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133172 - /tomcat/trunk/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java
Author: markt Date: Tue Jun 7 22:04:44 2011 New Revision: 1133172 URL: http://svn.apache.org/viewvc?rev=1133172&view=rev Log: Enable for async requests Modified: tomcat/trunk/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java Modified: tomcat/trunk/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java?rev=1133172&r1=1133171&r2=1133172&view=diff == --- tomcat/trunk/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/CrawlerSessionManagerValve.java Tue Jun 7 22:04:44 2011 @@ -55,6 +55,14 @@ public class CrawlerSessionManagerValve /** + * Specifies a default constructor so async support can be configured. + */ +public CrawlerSessionManagerValve() { +super(true); +} + + +/** * Specify the regular expression (using {@link Pattern}) that will be used * to identify crawlers based in the User-Agent header provided. The default * is ".*GoogleBot.*|.*bingbot.*|.*Yahoo! Slurp.*" - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133173 - /tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java
Author: markt Date: Tue Jun 7 22:05:31 2011 New Revision: 1133173 URL: http://svn.apache.org/viewvc?rev=1133173&view=rev Log: Enable for async requests (invoke just passes the request through so no issues with async) Modified: tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java Modified: tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java?rev=1133173&r1=1133172&r2=1133173&view=diff == --- tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/JDBCAccessLogValve.java Tue Jun 7 22:05:31 2011 @@ -140,7 +140,7 @@ public final class JDBCAccessLogValve ex * */ public JDBCAccessLogValve() { -super(false); +super(true); driverName = null; connectionURL = null; tableName = "access"; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1133170 - /tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java
On 07/06/2011 22:56, kkoli...@apache.org wrote: > Author: kkolinko > Date: Tue Jun 7 21:56:16 2011 > New Revision: 1133170 > > URL: http://svn.apache.org/viewvc?rev=1133170&view=rev > Log: > Followup to r1133122 > if(flag) set flag:=false Thanks for the catch. I inverted the logic and forget that one. Mark > > Modified: > tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java > > Modified: tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java > URL: > http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java?rev=1133170&r1=1133169&r2=1133170&view=diff > == > --- tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java > (original) > +++ tomcat/trunk/java/org/apache/jasper/compiler/TldLocationsCache.java Tue > Jun 7 21:56:16 2011 > @@ -448,7 +448,7 @@ public class TldLocationsCache { > } else if (showTldScanWarning) { > // Not entirely thread-safe but a few duplicate log messages > are > // not a huge issue > -showTldScanWarning = true; > +showTldScanWarning = false; > log.info(Localizer.getMessage("jsp.tldCache.noTldSummary")); > } > } > > > > - > 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
svn commit: r1133177 - /tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java
Author: markt Date: Tue Jun 7 22:14:52 2011 New Revision: 1133177 URL: http://svn.apache.org/viewvc?rev=1133177&view=rev Log: Enable for async requests Only look for a change on non-async requests. There will always be one of these before any async processing on a request so no need to check if the current request is in the middle of async processing Modified: tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java Modified: tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java?rev=1133177&r1=1133176&r2=1133177&view=diff == --- tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/session/JvmRouteBinderValve.java Tue Jun 7 22:14:52 2011 @@ -102,7 +102,7 @@ public class JvmRouteBinderValve extends //-- Constructor public JvmRouteBinderValve() { -super(false); +super(true); } /*--Instance Variables--*/ @@ -199,9 +199,10 @@ public class JvmRouteBinderValve extends public void invoke(Request request, Response response) throws IOException, ServletException { - if (getEnabled() - && request.getContext() != null - && request.getContext().getDistributable() ) { + if (getEnabled() && + request.getContext() != null && + request.getContext().getDistributable() && + !request.isAsyncDispatching()) { // valve cluster can access manager - other cluster handle turnover // at host level - hopefully! Manager manager = request.getContext().getManager(); - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133182 - /tomcat/trunk/webapps/docs/logging.xml
Author: kkolinko Date: Tue Jun 7 22:28:45 2011 New Revision: 1133182 URL: http://svn.apache.org/viewvc?rev=1133182&view=rev Log: Align log4j configuration example with log4j documentation: start property names with an uppercase character. It is just a question of style: it should work either way. Modified: tomcat/trunk/webapps/docs/logging.xml Modified: tomcat/trunk/webapps/docs/logging.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/logging.xml?rev=1133182&r1=1133181&r2=1133182&view=diff == --- tomcat/trunk/webapps/docs/logging.xml (original) +++ tomcat/trunk/webapps/docs/logging.xml Tue Jun 7 22:28:45 2011 @@ -415,42 +415,42 @@ log4j.rootLogger=INFO, CATALINA # Define all the appenders log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender -log4j.appender.CATALINA.file=${catalina.base}/logs/catalina. -log4j.appender.CATALINA.encoding=UTF-8 +log4j.appender.CATALINA.File=${catalina.base}/logs/catalina. +log4j.appender.CATALINA.Append=true +log4j.appender.CATALINA.Encoding=UTF-8 # Roll-over the log once per day log4j.appender.CATALINA.DatePattern='.'-MM-dd'.log' log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout -log4j.appender.CATALINA.layout.conversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.CATALINA.append=true +log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender -log4j.appender.LOCALHOST.file=${catalina.base}/logs/localhost. -log4j.appender.LOCALHOST.encoding=UTF-8 +log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost. +log4j.appender.LOCALHOST.Append=true +log4j.appender.LOCALHOST.Encoding=UTF-8 log4j.appender.LOCALHOST.DatePattern='.'-MM-dd'.log' log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout -log4j.appender.LOCALHOST.layout.conversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.LOCALHOST.append=true +log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender -log4j.appender.MANAGER.file=${catalina.base}/logs/manager. -log4j.appender.MANAGER.encoding=UTF-8 +log4j.appender.MANAGER.File=${catalina.base}/logs/manager. +log4j.appender.MANAGER.Append=true +log4j.appender.MANAGER.Encoding=UTF-8 log4j.appender.MANAGER.DatePattern='.'-MM-dd'.log' log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout -log4j.appender.MANAGER.layout.conversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.MANAGER.append=true +log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender -log4j.appender.HOST-MANAGER.file=${catalina.base}/logs/host-manager. -log4j.appender.HOST-MANAGER.encoding=UTF-8 +log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager. +log4j.appender.HOST-MANAGER.Append=true +log4j.appender.HOST-MANAGER.Encoding=UTF-8 log4j.appender.HOST-MANAGER.DatePattern='.'-MM-dd'.log' log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout -log4j.appender.HOST-MANAGER.layout.conversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.HOST-MANAGER.append=true +log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender -log4j.appender.CONSOLE.encoding=UTF-8 +log4j.appender.CONSOLE.Encoding=UTF-8 log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout -log4j.appender.CONSOLE.layout.conversionPattern = %d [%t] %-5p %c- %m%n +log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n # Configure which loggers log to which appenders log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [VOTE] Release Apache Tomcat 7.0.15
Update: I ran org/apache/tomcat/util/http/mapper/TestMapperWelcomeFiles.java in a loop. The crash happens in about 5-10% of all runs. I'm not saying the crsh is specific to this test, I just tried to reproduce it with the test for which I noticed it first. The good thing: - I checked without r1130539 (BZ 51310, added a destroy cal) and the problem still occurs - I checked with 7.0.14 and the problem still occurs. So it is not a regression. - Even better: very rarely instead of a crash I get and unterminated loop in apr_allocator_destroy because of circular pointer chains. And that - crashes and rare untrminated loops in apr_allocator_destroy - makes it exactly the same kind of fault I occasionally notice when testing apr using its own test suite. We (APR) still do not know the root cause for this, last time there was speculation about the test being borked. I might use our often failing little TC test to investigate the APR problem :) Regards, Rainer On 05.06.2011 18:33, Rainer Jung wrote: > Not a vote yet: > > I get a test failure: > > Testcase: testWelcomeFileStrict took 0.005 sec > Caused an ERROR > Forked Java VM exited abnormally. Please note the time in the report > does not reflect the time until the VM exit. > junit.framework.AssertionFailedError: Forked Java VM exited abnormally. > Please note the time in the report does not reflect the time until the > VM exit. > > > And indeed there is a core file and a hotspot error file. The crash > happens in tcnative, more precisely in apr_allocator_destroy(). Could it > have to do with the recent addition of server.destroy() (BZ 51310)? > > Note that I only recently added the APR tests to my standard checks. > Furthermore I could not reproduce it during a second test. So the root > cause could be older. > > > C [libapr-1.so.0+0x13f00] apr_allocator_destroy+0x10 > C [libapr-1.so.0+0x14c20] apr_pool_terminate+0x4c > j org.apache.tomcat.jni.Library.terminate()V+-2499892 > j org.apache.tomcat.jni.Library.terminate()V+0 > v ~StubRoutines::call_stub > V [libjvm.so+0x16b1a4] > V [libjvm.so+0x7c5a04] > V [libjvm.so+0x22579c] > V [libjvm.so+0x223eb4] > C [libjava.so+0x10be4] > Java_sun_reflect_NativeMethodAccessorImpl_invoke0+0x18 > j > sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+-1751180 > j > sun.reflect.NativeMethodAccessorImpl.invoke0(Ljava/lang/reflect/Method;Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+0 > j > sun.reflect.NativeMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+87 > j > sun.reflect.DelegatingMethodAccessorImpl.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+6 > j > java.lang.reflect.Method.invoke(Ljava/lang/Object;[Ljava/lang/Object;)Ljava/lang/Object;+161 > j org.apache.catalina.core.AprLifecycleListener.terminateAPR()V+23 > j > org.apache.catalina.core.AprLifecycleListener.lifecycleEvent(Lorg/apache/catalina/LifecycleEvent;)V+96 > j > org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Ljava/lang/String;Ljava/lang/Object;)V+37 > j > org.apache.catalina.util.LifecycleBase.fireLifecycleEvent(Ljava/lang/String;Ljava/lang/Object;)V+6 > j > org.apache.catalina.util.LifecycleBase.setStateInternal(Lorg/apache/catalina/LifecycleState;Ljava/lang/Object;Z)V+140 > j org.apache.catalina.util.LifecycleBase.destroy()V+194 > j org.apache.catalina.startup.Tomcat.destroy()V+9 > j org.apache.catalina.startup.TomcatBaseTest.tearDown()V+57 > j junit.framework.TestCase.runBare()V+34 > j junit.framework.TestResult$1.protect()V+4 > j > junit.framework.TestResult.runProtected(Ljunit/framework/Test;Ljunit/framework/Protectable;)V+1 > j junit.framework.TestResult.run(Ljunit/framework/TestCase;)V+18 > j junit.framework.TestCase.run(Ljunit/framework/TestResult;)V+2 > j > junit.framework.TestSuite.runTest(Ljunit/framework/Test;Ljunit/framework/TestResult;)V+2 > j junit.framework.TestSuite.run(Ljunit/framework/TestResult;)V+37 > j org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run()V+693 > j > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(Lorg/apache/tools/ant/taskdefs/optional/junit/JUnitTest;[Ljava/lang/String;ZZ)I+41 > j > org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main([Ljava/lang/String;)V+918 > v ~StubRoutines::call_stub > V [libjvm.so+0x16b1a4] > V [libjvm.so+0x20f4fc] > C [java+0x3ab8] > - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133185 - /tomcat/trunk/webapps/docs/logging.xml
Author: kkolinko Date: Tue Jun 7 22:40:56 2011 New Revision: 1133185 URL: http://svn.apache.org/viewvc?rev=1133185&view=rev Log: Simplify markup: remove s from the end of lines. They are not needed inside the tag. Modified: tomcat/trunk/webapps/docs/logging.xml Modified: tomcat/trunk/webapps/docs/logging.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/logging.xml?rev=1133185&r1=1133184&r2=1133185&view=diff == --- tomcat/trunk/webapps/docs/logging.xml (original) +++ tomcat/trunk/webapps/docs/logging.xml Tue Jun 7 22:40:56 2011 @@ -414,50 +414,50 @@ java.util.logging.ConsoleHandler.formatt log4j.rootLogger=INFO, CATALINA # Define all the appenders -log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender -log4j.appender.CATALINA.File=${catalina.base}/logs/catalina. -log4j.appender.CATALINA.Append=true -log4j.appender.CATALINA.Encoding=UTF-8 -# Roll-over the log once per day -log4j.appender.CATALINA.DatePattern='.'-MM-dd'.log' +log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender +log4j.appender.CATALINA.File=${catalina.base}/logs/catalina. +log4j.appender.CATALINA.Append=true +log4j.appender.CATALINA.Encoding=UTF-8 +# Roll-over the log once per day +log4j.appender.CATALINA.DatePattern='.'-MM-dd'.log' log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout -log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n - -log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender -log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost. -log4j.appender.LOCALHOST.Append=true -log4j.appender.LOCALHOST.Encoding=UTF-8 -log4j.appender.LOCALHOST.DatePattern='.'-MM-dd'.log' +log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n + +log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender +log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost. +log4j.appender.LOCALHOST.Append=true +log4j.appender.LOCALHOST.Encoding=UTF-8 +log4j.appender.LOCALHOST.DatePattern='.'-MM-dd'.log' log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout -log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n +log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender -log4j.appender.MANAGER.File=${catalina.base}/logs/manager. -log4j.appender.MANAGER.Append=true -log4j.appender.MANAGER.Encoding=UTF-8 -log4j.appender.MANAGER.DatePattern='.'-MM-dd'.log' +log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.MANAGER.File=${catalina.base}/logs/manager. +log4j.appender.MANAGER.Append=true +log4j.appender.MANAGER.Encoding=UTF-8 +log4j.appender.MANAGER.DatePattern='.'-MM-dd'.log' log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout -log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n +log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender -log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager. -log4j.appender.HOST-MANAGER.Append=true -log4j.appender.HOST-MANAGER.Encoding=UTF-8 -log4j.appender.HOST-MANAGER.DatePattern='.'-MM-dd'.log' +log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager. +log4j.appender.HOST-MANAGER.Append=true +log4j.appender.HOST-MANAGER.Encoding=UTF-8 +log4j.appender.HOST-MANAGER.DatePattern='.'-MM-dd'.log' log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout -log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n +log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender -log4j.appender.CONSOLE.Encoding=UTF-8 +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.Encoding=UTF-8 log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout -log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n - -# Configure which loggers log to which appenders -log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST -log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\ - INFO, MANAGER -log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\ - INFO, HOST-MANAGER +log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n + +# Configure which loggers log to which appenders +log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST +log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\ + INFO, MANAGER +log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\ + INFO, HOST-MANAGER
svn commit: r1133188 - /tomcat/tc6.0.x/trunk/webapps/docs/logging.xml
Author: kkolinko Date: Tue Jun 7 22:49:42 2011 New Revision: 1133188 URL: http://svn.apache.org/viewvc?rev=1133188&view=rev Log: Align log4j configuration example with log4j documentation: start property names with an uppercase character. Remove s from the end of lines. They are not needed inside the tag. CTR: docs Modified: tomcat/tc6.0.x/trunk/webapps/docs/logging.xml Modified: tomcat/tc6.0.x/trunk/webapps/docs/logging.xml URL: http://svn.apache.org/viewvc/tomcat/tc6.0.x/trunk/webapps/docs/logging.xml?rev=1133188&r1=1133187&r2=1133188&view=diff == --- tomcat/tc6.0.x/trunk/webapps/docs/logging.xml (original) +++ tomcat/tc6.0.x/trunk/webapps/docs/logging.xml Tue Jun 7 22:49:42 2011 @@ -417,50 +417,50 @@ java.util.logging.ConsoleHandler.formatt log4j.rootLogger=INFO, CATALINA # Define all the appenders -log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender -log4j.appender.CATALINA.file=${catalina.base}/logs/catalina. -log4j.appender.CATALINA.encoding=UTF-8 -# Roll-over the log once per day -log4j.appender.CATALINA.DatePattern='.'-MM-dd'.log' +log4j.appender.CATALINA=org.apache.log4j.DailyRollingFileAppender +log4j.appender.CATALINA.File=${catalina.base}/logs/catalina. +log4j.appender.CATALINA.Append=true +log4j.appender.CATALINA.Encoding=UTF-8 +# Roll-over the log once per day +log4j.appender.CATALINA.DatePattern='.'-MM-dd'.log' log4j.appender.CATALINA.layout = org.apache.log4j.PatternLayout -log4j.appender.CATALINA.layout.conversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.CATALINA.append=true - -log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender -log4j.appender.LOCALHOST.file=${catalina.base}/logs/localhost. -log4j.appender.LOCALHOST.encoding=UTF-8 -log4j.appender.LOCALHOST.DatePattern='.'-MM-dd'.log' +log4j.appender.CATALINA.layout.ConversionPattern = %d [%t] %-5p %c- %m%n + +log4j.appender.LOCALHOST=org.apache.log4j.DailyRollingFileAppender +log4j.appender.LOCALHOST.File=${catalina.base}/logs/localhost. +log4j.appender.LOCALHOST.Append=true +log4j.appender.LOCALHOST.Encoding=UTF-8 +log4j.appender.LOCALHOST.DatePattern='.'-MM-dd'.log' log4j.appender.LOCALHOST.layout = org.apache.log4j.PatternLayout -log4j.appender.LOCALHOST.layout.conversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.LOCALHOST.append=true +log4j.appender.LOCALHOST.layout.ConversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender -log4j.appender.MANAGER.file=${catalina.base}/logs/manager. -log4j.appender.MANAGER.encoding=UTF-8 -log4j.appender.MANAGER.DatePattern='.'-MM-dd'.log' +log4j.appender.MANAGER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.MANAGER.File=${catalina.base}/logs/manager. +log4j.appender.MANAGER.Append=true +log4j.appender.MANAGER.Encoding=UTF-8 +log4j.appender.MANAGER.DatePattern='.'-MM-dd'.log' log4j.appender.MANAGER.layout = org.apache.log4j.PatternLayout -log4j.appender.MANAGER.layout.conversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.MANAGER.append=true +log4j.appender.MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender -log4j.appender.HOST-MANAGER.file=${catalina.base}/logs/host-manager. -log4j.appender.HOST-MANAGER.encoding=UTF-8 -log4j.appender.HOST-MANAGER.DatePattern='.'-MM-dd'.log' +log4j.appender.HOST-MANAGER=org.apache.log4j.DailyRollingFileAppender +log4j.appender.HOST-MANAGER.File=${catalina.base}/logs/host-manager. +log4j.appender.HOST-MANAGER.Append=true +log4j.appender.HOST-MANAGER.Encoding=UTF-8 +log4j.appender.HOST-MANAGER.DatePattern='.'-MM-dd'.log' log4j.appender.HOST-MANAGER.layout = org.apache.log4j.PatternLayout -log4j.appender.HOST-MANAGER.layout.conversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.HOST-MANAGER.append=true +log4j.appender.HOST-MANAGER.layout.ConversionPattern = %d [%t] %-5p %c- %m%n -log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender -log4j.appender.CONSOLE.encoding=UTF-8 +log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender +log4j.appender.CONSOLE.Encoding=UTF-8 log4j.appender.CONSOLE.layout = org.apache.log4j.PatternLayout -log4j.appender.CONSOLE.layout.conversionPattern = %d [%t] %-5p %c- %m%n - -# Configure which loggers log to which appenders -log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST -log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\ - INFO, MANAGER -log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\ - INFO, HOST-MANAGER +log4j.appender.CONSOLE.layout.ConversionPattern = %d [%t] %-5p %c- %m%n + +# Configure which loggers log to which appenders +log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST +log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager
svn commit: r1133193 - /tomcat/trunk/java/org/apache/catalina/valves/PersistentValve.java
Author: markt Date: Tue Jun 7 23:12:18 2011 New Revision: 1133193 URL: http://svn.apache.org/viewvc?rev=1133193&view=rev Log: Enable for async requests Don't persist the session if processing an async request. Note: There may be some async states where the session could be safely persisted. Modified: tomcat/trunk/java/org/apache/catalina/valves/PersistentValve.java Modified: tomcat/trunk/java/org/apache/catalina/valves/PersistentValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/PersistentValve.java?rev=1133193&r1=1133192&r2=1133193&view=diff == --- tomcat/trunk/java/org/apache/catalina/valves/PersistentValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/PersistentValve.java Tue Jun 7 23:12:18 2011 @@ -50,7 +50,7 @@ public class PersistentValve extends Val //-- Constructor public PersistentValve() { -super(false); +super(true); } // - Instance Variables @@ -146,45 +146,52 @@ public class PersistentValve extends Val // Ask the next valve to process the request. getNext().invoke(request, response); -// Read the sessionid after the response. -// HttpSession hsess = hreq.getSession(false); -Session hsess; -try { -hsess = request.getSessionInternal(); -} catch (Exception ex) { -hsess = null; -} -String newsessionId = null; -if (hsess!=null) -newsessionId = hsess.getIdInternal(); - -if (container.getLogger().isDebugEnabled()) -container.getLogger().debug("newsessionId: " + newsessionId); -if (newsessionId!=null) { -/* store the session in the store and remove it from the manager */ -if (manager instanceof PersistentManager) { -Session session = manager.findSession(newsessionId); -Store store = ((PersistentManager) manager).getStore(); -if (store != null && session!=null && -session.isValid() && -!isSessionStale(session, System.currentTimeMillis())) { -// ((StandardSession)session).passivate(); -store.save(session); -((PersistentManager) manager).removeSuper(session); -session.recycle(); +// If still processing async, don't try to store the session +// TODO: Are there some async states where it is would be safe to store +// the session? +if (!request.isAsync()) { +// Read the sessionid after the response. +// HttpSession hsess = hreq.getSession(false); +Session hsess; +try { +hsess = request.getSessionInternal(); +} catch (Exception ex) { +hsess = null; +} +String newsessionId = null; +if (hsess!=null) +newsessionId = hsess.getIdInternal(); + +if (container.getLogger().isDebugEnabled()) +container.getLogger().debug("newsessionId: " + newsessionId); +if (newsessionId!=null) { +/* store the session and remove it from the manager */ +if (manager instanceof PersistentManager) { +Session session = manager.findSession(newsessionId); +Store store = ((PersistentManager) manager).getStore(); +if (store != null && session!=null && +session.isValid() && +!isSessionStale(session, System.currentTimeMillis())) { +// ((StandardSession)session).passivate(); +store.save(session); +((PersistentManager) manager).removeSuper(session); +session.recycle(); +} else { +if (container.getLogger().isDebugEnabled()) +container.getLogger().debug("newsessionId store: " + +store + " session: " + session + +" valid: " + +(session == null ? "N/A" : Boolean.toString( +session.isValid())) + +" stale: " + isSessionStale(session, +System.currentTimeMillis())); + +} } else { if (container.getLogger().isDebugEnabled()) -container.getLogger().debug("newsessionId store: " + -store + " session: " + session + " valid: " + -(session == null ? "
svn commit: r1133197 - /tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java
Author: markt Date: Tue Jun 7 23:37:29 2011 New Revision: 1133197 URL: http://svn.apache.org/viewvc?rev=1133197&view=rev Log: Enable for async requests. Depending on how async is used, may see multiple replication requests for a single async request. Modified: tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java Modified: tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java?rev=1133197&r1=1133196&r2=1133197&view=diff == --- tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/ha/tcp/ReplicationValve.java Tue Jun 7 23:37:29 2011 @@ -121,7 +121,7 @@ public class ReplicationValve // - Properties public ReplicationValve() { -super(false); +super(true); } /** @@ -556,11 +556,13 @@ public class ReplicationValve } /** - * protocol cluster replications stats + * Protocol cluster replications stats * @param requestTime * @param clusterTime */ protected void updateStats(long requestTime, long clusterTime) { +// TODO: Async requests may trigger multiple replication requests. How, +// if at all, should the stats handle this? synchronized(this) { lastSendTime=System.currentTimeMillis(); totalSendTime+=lastSendTime - clusterTime; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133199 - /tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java
Author: markt Date: Tue Jun 7 23:43:31 2011 New Revision: 1133199 URL: http://svn.apache.org/viewvc?rev=1133199&view=rev Log: Enable for async requests. Async requests should appear as serial requests when requiring multiple internal requests so concurrency should behave as expected. Modified: tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java Modified: tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java?rev=1133199&r1=1133198&r2=1133199&view=diff == --- tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/SemaphoreValve.java Tue Jun 7 23:43:31 2011 @@ -31,7 +31,9 @@ import org.apache.catalina.connector.Res * Implementation of a Valve that limits concurrency. * * This Valve may be attached to any Container, depending on the granularity - * of the concurrency control you wish to perform. + * of the concurrency control you wish to perform. Note that internally, some + * async requests may require multiple serial requests to complete what - to the + * user - appears as a single request. * * @author Remy Maucherat * @version $Id$ @@ -41,7 +43,7 @@ public class SemaphoreValve extends Valv //-- Constructor public SemaphoreValve() { -super(false); //TODO - is this async aware +super(true); } // - Instance Variables - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133200 - /tomcat/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java
Author: markt Date: Tue Jun 7 23:47:16 2011 New Revision: 1133200 URL: http://svn.apache.org/viewvc?rev=1133200&view=rev Log: Enable for async requests. Looking for stuck threads - no special async support required here. When the asycn timeout is infinite requests may get stuck but that'll need a different detection mechanism. Modified: tomcat/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java Modified: tomcat/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java?rev=1133200&r1=1133199&r2=1133200&view=diff == --- tomcat/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java (original) +++ tomcat/trunk/java/org/apache/catalina/valves/StuckThreadDetectionValve.java Tue Jun 7 23:47:16 2011 @@ -1,302 +1,311 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF 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. - */ -package org.apache.catalina.valves; - -import java.io.IOException; -import java.util.ArrayList; -import java.util.Date; -import java.util.List; -import java.util.Queue; -import java.util.concurrent.ConcurrentHashMap; -import java.util.concurrent.ConcurrentLinkedQueue; -import java.util.concurrent.atomic.AtomicInteger; - -import javax.servlet.ServletException; - -import org.apache.catalina.LifecycleException; -import org.apache.catalina.connector.Request; -import org.apache.catalina.connector.Response; -import org.apache.juli.logging.Log; -import org.apache.juli.logging.LogFactory; -import org.apache.tomcat.util.res.StringManager; - -/** - * This valve allows to detect requests that take a long time to process, which might - * indicate that the thread that is processing it is stuck. - * Based on code proposed by TomLu in Bugzilla entry #50306 - * - * @author slaurent - * - */ -public class StuckThreadDetectionValve extends ValveBase { - -/** - * The descriptive information related to this implementation. - */ -private static final String info = -"org.apache.catalina.valves.StuckThreadDetectionValve/1.0"; -/** - * Logger - */ -private static final Log log = LogFactory.getLog(StuckThreadDetectionValve.class); - -/** - * The string manager for this package. - */ -private static final StringManager sm = -StringManager.getManager(Constants.Package); - -/** - * Keeps count of the number of stuck threads detected - */ -private final AtomicInteger stuckCount = new AtomicInteger(0); - -/** - * In seconds. Default 600 (10 minutes). - */ -private int threshold = 600; - -/** - * The only references we keep to actual running Thread objects are in - * this Map (which is automatically cleaned in invoke()s finally clause). - * That way, Threads can be GC'ed, eventhough the Valve still thinks they - * are stuck (caused by a long monitor interval) - */ -private ConcurrentHashMap activeThreads = -new ConcurrentHashMap(); -/** - * - */ -private Queue completedStuckThreadsQueue = -new ConcurrentLinkedQueue(); - -/** - * Specify the threshold (in seconds) used when checking for stuck threads. - * If <=0, the detection is disabled. The default is 600 seconds. - * - * @param threshold - *The new threshold in seconds - */ -public void setThreshold(int threshold) { -this.threshold = threshold; -} - -/** - * @see #setThreshold(int) - * @return The current threshold in seconds - */ -public int getThreshold() { -return threshold; -} - -@Override -protected void initInternal() throws LifecycleException { -super.initInternal(); - -if (log.isDebugEnabled()) { -log.debug("Monitoring stuck threads with threshold = " -+ threshold -+ " sec"); -} -} - -/** - * Return descriptive information about this Valve implementation. - */ -@Override -public String getInfo() { -return info; -} - -private void notifyStu
svn commit: r1133201 - in /tomcat/trunk: java/org/apache/catalina/startup/ContextConfig.java webapps/docs/changelog.xml
Author: markt Date: Tue Jun 7 23:48:17 2011 New Revision: 1133201 URL: http://svn.apache.org/viewvc?rev=1133201&view=rev Log: Correct a regression in the fix for bug 51278 that prevented any web application from being marked as distributable. (kfujino) Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1133201&r1=1133200&r2=1133201&view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Tue Jun 7 23:48:17 2011 @@ -1195,6 +1195,10 @@ public class ContextConfig */ WebXml webXmlDefaultFragment = createWebXml(); webXmlDefaultFragment.setOverridable(true); +// Set to distributable else every app will be prevented from being +// distributable when the default fragment is merged with the main +// web.xml +webXmlDefaultFragment.setDistributable(true); // Parse global web.xml if present InputSource globalWebXml = getGlobalWebXmlSource(); Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1133201&r1=1133200&r2=1133201&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Jun 7 23:48:17 2011 @@ -55,6 +55,10 @@ response buffer to ensure that the doFlush flag does not get stuck in the enabled state. Patch provided by Jeremy Norris. (markt) + +Correct a regression in the fix for 51278 that prevented any +web application from being marked as distributable. (kfujino/mark) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133202 - /tomcat/trunk/webapps/docs/changelog.xml
Author: markt Date: Tue Jun 7 23:50:55 2011 New Revision: 1133202 URL: http://svn.apache.org/viewvc?rev=1133202&view=rev Log: Update changelog post valve changes 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=1133202&r1=1133201&r2=1133202&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Tue Jun 7 23:50:55 2011 @@ -59,6 +59,10 @@ Correct a regression in the fix for 51278 that prevented any web application from being marked as distributable. (kfujino/mark) + +Enable remaining valves for Servlet 3 asynchronous processing support. +(markt) + @@ -83,6 +87,14 @@ + + + +Enable Servlet 3 asynchronous processing support when using clustering. +(markt) + + + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133204 - /tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java
Author: markt Date: Tue Jun 7 23:56:14 2011 New Revision: 1133204 URL: http://svn.apache.org/viewvc?rev=1133204&view=rev Log: Simplify as per kkolinko's review Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1133204&r1=1133203&r2=1133204&view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Tue Jun 7 23:56:14 2011 @@ -1222,13 +1222,7 @@ public class ContextConfig InputSource contextWebXml = getContextWebXmlSource(); parseWebXml(contextWebXml, webXml, false); -// Assuming 0 is safe for what is required in this case -double webXmlVersion = 0; -if (webXml.getVersion() != null) { -webXmlVersion = Double.parseDouble(webXml.getVersion()); -} - -if (webXmlVersion >= 3) { +if (webXml.getMajorVersion() >= 3) { // Ordering is important here // Step 1. Identify all the JARs packaged with the application - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: [PROPOSAL] Enable session replication by default.
On 07/06/2011 22:42, Konstantin Kolinko wrote: > BTW, two minor thoughts wrt. o.a.c.startup.ContextConfig#webConfig() > 1) Line 1208 > > // Parse host level web.xml if present > // Additive apart from welcome pages > webXml.setReplaceWelcomeFiles(true); > InputSource hostWebXml = getHostWebXmlSource(); > parseWebXml(hostWebXml, webXmlDefaultFragment, false); > > The "webXml.setReplaceWelcomeFiles(true);" call is needed, I don't think it is since webXml is now empty when the main web.xml is parsed into it. > but from the comment it seems to me that > webXmlDefaultFragment.setReplaceWelcomeFiles(true); is also needed > here, > because webXmlDefaultFragment is the argument to parseWebXml() call > and not webXml. Yep, that does look to be required. Hmm. Looks like it is no longer possible to override the welcome files in an app's web.xml. That'll need fixing too. > 2) > Line 1223: > All of the code below > // Assuming 0 is safe for what is required in this case > double webXmlVersion = 0; > if (webXml.getVersion() != null) { > webXmlVersion = Double.parseDouble(webXml.getVersion()); > } > > if (webXmlVersion >= 3) { > Just can be replaced with one line > if (webXml.getMajorVersion() >= 3) { > > Note, that webXml.getVersion() never returns null. Fixed. Thanks. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1133221 - in /tomcat/trunk: java/org/apache/catalina/deploy/WebXml.java java/org/apache/catalina/startup/ContextConfig.java webapps/docs/changelog.xml
Author: markt Date: Wed Jun 8 00:44:14 2011 New Revision: 1133221 URL: http://svn.apache.org/viewvc?rev=1133221&view=rev Log: Fix regression in welcome file processing Modified: tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java?rev=1133221&r1=1133220&r2=1133221&view=diff == --- tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java (original) +++ tomcat/trunk/java/org/apache/catalina/deploy/WebXml.java Wed Jun 8 00:44:14 2011 @@ -346,13 +346,25 @@ public class WebXml { } public Map getMimeMappings() { return mimeMappings; } -// welcome-file-list -// When merging web.xml files it may be necessary for any new welcome files -// to completely replace the current set +// welcome-file-list merge control private boolean replaceWelcomeFiles = false; +private boolean alwaysAddWelcomeFiles = true; +/** + * When merging/parsing web.xml files into this web.xml should the current + * set be completely replaced? + */ public void setReplaceWelcomeFiles(boolean replaceWelcomeFiles) { this.replaceWelcomeFiles = replaceWelcomeFiles; } +/** + * When merging from this web.xml, should the welcome files be added to the + * target web.xml even if it already contains welcome file definitions. + */ +public void setAlwaysAddWelcomeFiles(boolean alwaysAddWelcomeFiles) { +this.alwaysAddWelcomeFiles = alwaysAddWelcomeFiles; +} + +// welcome-file-list private Set welcomeFiles = new LinkedHashSet(); public void addWelcomeFile(String welcomeFile) { if (replaceWelcomeFiles) { @@ -1322,7 +1334,16 @@ public class WebXml { // Context doesn't use version directly for (String welcomeFile : welcomeFiles) { -context.addWelcomeFile(welcomeFile); +/* + * The following will result in a welcome file of "" so don't add + * that to the context + * + * + * + */ +if (welcomeFile != null && welcomeFile.length() > 0) { +context.addWelcomeFile(welcomeFile); +} } // Do this last as it depends on servlets @@ -1848,9 +1869,10 @@ public class WebXml { taglibs.putAll(temp.getTaglibs()); for (WebXml fragment : fragments) { -for (String welcomeFile : fragment.getWelcomeFiles()) { -// Always additive -addWelcomeFile(welcomeFile); +if (fragment.alwaysAddWelcomeFiles || welcomeFiles.size() == 0) { +for (String welcomeFile : fragment.getWelcomeFiles()) { +addWelcomeFile(welcomeFile); +} } } Modified: tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java?rev=1133221&r1=1133220&r2=1133221&view=diff == --- tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java (original) +++ tomcat/trunk/java/org/apache/catalina/startup/ContextConfig.java Wed Jun 8 00:44:14 2011 @@ -1199,6 +1199,9 @@ public class ContextConfig // distributable when the default fragment is merged with the main // web.xml webXmlDefaultFragment.setDistributable(true); +// When merging, the default welcome files are only used if the app has +// not defined any welcomes files. +webXmlDefaultFragment.setAlwaysAddWelcomeFiles(false); // Parse global web.xml if present InputSource globalWebXml = getGlobalWebXmlSource(); @@ -1211,7 +1214,7 @@ public class ContextConfig // Parse host level web.xml if present // Additive apart from welcome pages -webXml.setReplaceWelcomeFiles(true); +webXmlDefaultFragment.setReplaceWelcomeFiles(true); InputSource hostWebXml = getHostWebXmlSource(); parseWebXml(hostWebXml, webXmlDefaultFragment, false); Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1133221&r1=1133220&r2=1133221&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Wed Jun 8 00:44:14 2011 @@ -60,6 +60,10 @@ web application from being marked as distributable. (kfujino/mark) +Correct a regression in the fix for 51278 t
Tagging 7.0.16
I think all the fixes required for 7.0.16 are in place. I plan to run the unit and TCK tests tomorrow and tag tomorrow evening if they all pass. Mark - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org