[Bug 55675] Checking and handling invalid configuration option values
https://bz.apache.org/bugzilla/show_bug.cgi?id=55675 Lahiru Wijewardana changed: What|Removed |Added CC||lahi.jo...@gmail.com -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1755043 - in /tomcat/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java webapps/docs/changelog.xml
Author: kfujino Date: Wed Aug 3 08:38:58 2016 New Revision: 1755043 URL: http://svn.apache.org/viewvc?rev=1755043&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=59923 Reduce the default value of validationInterval in order to avoid the potential issue that continues to return an invalid connection after database restart. Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1755043&r1=1755042&r2=1755043&view=diff == --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Wed Aug 3 08:38:58 2016 @@ -68,7 +68,7 @@ public class PoolProperties implements P private volatile String name = "Tomcat Connection Pool["+(poolCounter.addAndGet(1))+"-"+System.identityHashCode(PoolProperties.class)+"]"; private volatile String password; private volatile String username; -private volatile long validationInterval = 3; +private volatile long validationInterval = 3000; private volatile boolean jmxEnabled = true; private volatile String initSQL; private volatile boolean testOnConnect =false; Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1755043&r1=1755042&r2=1755043&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Wed Aug 3 08:38:58 2016 @@ -151,6 +151,12 @@ 59850: Ensure that the ResultSet is closed when enabling the StatementCache interceptor. (kfujino) + +59923: Reduce the default value of +validationInterval in order to avoid the potential issue +that continues to return an invalid connection after database restart. +(kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1755044 - in /tomcat/tc8.5.x/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java webapps/docs/changelog.xml
Author: kfujino Date: Wed Aug 3 08:40:26 2016 New Revision: 1755044 URL: http://svn.apache.org/viewvc?rev=1755044&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=59923 Reduce the default value of validationInterval in order to avoid the potential issue that continues to return an invalid connection after database restart. Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1755044&r1=1755043&r2=1755044&view=diff == --- tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original) +++ tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Wed Aug 3 08:40:26 2016 @@ -68,7 +68,7 @@ public class PoolProperties implements P private volatile String name = "Tomcat Connection Pool["+(poolCounter.addAndGet(1))+"-"+System.identityHashCode(PoolProperties.class)+"]"; private volatile String password; private volatile String username; -private volatile long validationInterval = 3; +private volatile long validationInterval = 3000; private volatile boolean jmxEnabled = true; private volatile String initSQL; private volatile boolean testOnConnect =false; Modified: tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml?rev=1755044&r1=1755043&r2=1755044&view=diff == --- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Wed Aug 3 08:40:26 2016 @@ -157,6 +157,12 @@ 59850: Ensure that the ResultSet is closed when enabling the StatementCache interceptor. (kfujino) + +59923: Reduce the default value of +validationInterval in order to avoid the potential issue +that continues to return an invalid connection after database restart. +(kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1755045 - in /tomcat/tc8.0.x/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java webapps/docs/changelog.xml
Author: kfujino Date: Wed Aug 3 08:41:17 2016 New Revision: 1755045 URL: http://svn.apache.org/viewvc?rev=1755045&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=59923 Reduce the default value of validationInterval in order to avoid the potential issue that continues to return an invalid connection after database restart. Modified: tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1755045&r1=1755044&r2=1755045&view=diff == --- tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original) +++ tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Wed Aug 3 08:41:17 2016 @@ -68,7 +68,7 @@ public class PoolProperties implements P private volatile String name = "Tomcat Connection Pool["+(poolCounter.addAndGet(1))+"-"+System.identityHashCode(PoolProperties.class)+"]"; private volatile String password; private volatile String username; -private volatile long validationInterval = 3; +private volatile long validationInterval = 3000; private volatile boolean jmxEnabled = true; private volatile String initSQL; private volatile boolean testOnConnect =false; Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1755045&r1=1755044&r2=1755045&view=diff == --- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Wed Aug 3 08:41:17 2016 @@ -234,6 +234,12 @@ 59850: Ensure that the ResultSet is closed when enabling the StatementCache interceptor. (kfujino) + +59923: Reduce the default value of +validationInterval in order to avoid the potential issue +that continues to return an invalid connection after database restart. +(kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1755047 - in /tomcat/tc7.0.x/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java webapps/docs/changelog.xml
Author: kfujino Date: Wed Aug 3 08:45:25 2016 New Revision: 1755047 URL: http://svn.apache.org/viewvc?rev=1755047&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=59923 Reduce the default value of validationInterval in order to avoid the potential issue that continues to return an invalid connection after database restart. Modified: tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java?rev=1755047&r1=1755046&r2=1755047&view=diff == --- tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java (original) +++ tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PoolProperties.java Wed Aug 3 08:45:25 2016 @@ -73,7 +73,7 @@ public class PoolProperties implements P private volatile String name = "Tomcat Connection Pool["+(poolCounter.addAndGet(1))+"-"+System.identityHashCode(PoolProperties.class)+"]"; private volatile String password; private volatile String username; -private volatile long validationInterval = 3; +private volatile long validationInterval = 3000; private volatile boolean jmxEnabled = true; private volatile String initSQL; private volatile boolean testOnConnect =false; Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1755047&r1=1755046&r2=1755047&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Aug 3 08:45:25 2016 @@ -210,6 +210,12 @@ 59850: Ensure that the ResultSet is closed when enabling the StatementCache interceptor. (kfujino) + +59923: Reduce the default value of +validationInterval in order to avoid the potential issue +that continues to return an invalid connection after database restart. +(kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59904] memery leak--ServerCookie
https://bz.apache.org/bugzilla/show_bug.cgi?id=59904 Huxing Zhang changed: What|Removed |Added CC||huxing.zh...@gmail.com Version|8.0.23 |8.5.x-trunk OS|Mac OS X 10.1 |All Severity|normal |major Hardware|PC |All -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
buildbot success in on tomcat-trunk
The Buildbot has detected a restored build on builder tomcat-trunk while building . Full details are available at: https://ci.apache.org/builders/tomcat-trunk/builds/1537 Buildbot URL: https://ci.apache.org/ Buildslave for this Build: silvanus_ubuntu Build Reason: The AnyBranchScheduler scheduler named 'on-tomcat-commit' triggered this build Build Source Stamp: [branch tomcat/trunk] 1755043 Blamelist: kfujino Build succeeded! Sincerely, -The Buildbot - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59923] The default value of validationInterval attribute is too long.
https://bz.apache.org/bugzilla/show_bug.cgi?id=59923 Keiichi Fujino changed: What|Removed |Added Status|NEW |RESOLVED Resolution|--- |FIXED --- Comment #2 from Keiichi Fujino --- The fix will be in : - 9.0.x for 9.0.0.M10 onwards - 8.5.x for 8.5.5 onwards - 8.0.x for 8.0.37 onwards - 7.0.x for 7.0.71 onwards -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59904] memery leak--ServerCookie
https://bz.apache.org/bugzilla/show_bug.cgi?id=59904 Huxing Zhang changed: What|Removed |Added Target Milestone||- Version|8.5.x-trunk |9.0.0.M9 Component|Catalina|Catalina Product|Tomcat 8|Tomcat 9 --- Comment #7 from Huxing Zhang --- The proposed patch in 59926 is against tomcat 9 trunk. -- 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: r1755056 - in /tomcat/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java webapps/docs/changelog.xml
Author: kfujino Date: Wed Aug 3 09:36:34 2016 New Revision: 1755056 URL: http://svn.apache.org/viewvc?rev=1755056&view=rev Log: Ensure that the ResultSet is returned as Proxy object when enabling the StatementDecoratorInterceptor. Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java tomcat/trunk/webapps/docs/changelog.xml Modified: tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java?rev=1755056&r1=1755055&r2=1755056&view=diff == --- tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java (original) +++ tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java Wed Aug 3 09:36:34 2016 @@ -40,7 +40,11 @@ public class StatementDecoratorIntercept private static final Log logger = LogFactory.getLog(StatementDecoratorInterceptor.class); -private static final String[] EXECUTE_QUERY_TYPES = { "executeQuery" }; +protected static final String EXECUTE_QUERY = "executeQuery"; +protected static final String GETGENERATEDKEYS = "getGeneratedKeys"; +protected static final String GET_RESULTSET = "getResultSet"; + +protected static final String[] RESULTSET_TYPES = {EXECUTE_QUERY, GETGENERATEDKEYS, GET_RESULTSET}; /** * the constructors that are used to create statement proxies @@ -157,13 +161,17 @@ public class StatementDecoratorIntercept } protected boolean isExecuteQuery(String methodName) { -return EXECUTE_QUERY_TYPES[0].equals(methodName); +return EXECUTE_QUERY.equals(methodName); } protected boolean isExecuteQuery(Method method) { return isExecuteQuery(method.getName()); } +protected boolean isResultSet(Method method, boolean process) { +return process(RESULTSET_TYPES, method, process); +} + /** * Class to measure query execute time. */ @@ -239,7 +247,8 @@ public class StatementDecoratorIntercept if (compare(GETCONNECTION_VAL,method)){ return connection; } -boolean process = isExecuteQuery(method); +boolean process = false; +process = isResultSet(method, process); // check to see if we are about to execute a query // if we are executing, get the current time Object result = null; @@ -259,7 +268,7 @@ public class StatementDecoratorIntercept throw t; } } -if (process){ +if (process && result != null) { Constructor cons = getResultSetConstructor(); result = cons.newInstance(new Object[]{new ResultSetProxy(actualProxy, result)}); } Modified: tomcat/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1755056&r1=1755055&r2=1755056&view=diff == --- tomcat/trunk/webapps/docs/changelog.xml (original) +++ tomcat/trunk/webapps/docs/changelog.xml Wed Aug 3 09:36:34 2016 @@ -157,6 +157,10 @@ that continues to return an invalid connection after database restart. (kfujino) + +Ensure that the ResultSet is returned as Proxy object when +enabling the StatementDecoratorInterceptor. (kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1755058 - in /tomcat/tc8.5.x/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java webapps/docs/changelog.xml
Author: kfujino Date: Wed Aug 3 09:38:33 2016 New Revision: 1755058 URL: http://svn.apache.org/viewvc?rev=1755058&view=rev Log: Ensure that the ResultSet is returned as Proxy object when enabling the StatementDecoratorInterceptor. Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java?rev=1755058&r1=1755057&r2=1755058&view=diff == --- tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java (original) +++ tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java Wed Aug 3 09:38:33 2016 @@ -40,7 +40,11 @@ public class StatementDecoratorIntercept private static final Log logger = LogFactory.getLog(StatementDecoratorInterceptor.class); -private static final String[] EXECUTE_QUERY_TYPES = { "executeQuery" }; +protected static final String EXECUTE_QUERY = "executeQuery"; +protected static final String GETGENERATEDKEYS = "getGeneratedKeys"; +protected static final String GET_RESULTSET = "getResultSet"; + +protected static final String[] RESULTSET_TYPES = {EXECUTE_QUERY, GETGENERATEDKEYS, GET_RESULTSET}; /** * the constructors that are used to create statement proxies @@ -157,13 +161,17 @@ public class StatementDecoratorIntercept } protected boolean isExecuteQuery(String methodName) { -return EXECUTE_QUERY_TYPES[0].equals(methodName); +return EXECUTE_QUERY.equals(methodName); } protected boolean isExecuteQuery(Method method) { return isExecuteQuery(method.getName()); } +protected boolean isResultSet(Method method, boolean process) { +return process(RESULTSET_TYPES, method, process); +} + /** * Class to measure query execute time. */ @@ -239,7 +247,8 @@ public class StatementDecoratorIntercept if (compare(GETCONNECTION_VAL,method)){ return connection; } -boolean process = isExecuteQuery(method); +boolean process = false; +process = isResultSet(method, process); // check to see if we are about to execute a query // if we are executing, get the current time Object result = null; @@ -259,7 +268,7 @@ public class StatementDecoratorIntercept throw t; } } -if (process){ +if (process && result != null) { Constructor cons = getResultSetConstructor(); result = cons.newInstance(new Object[]{new ResultSetProxy(actualProxy, result)}); } Modified: tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml?rev=1755058&r1=1755057&r2=1755058&view=diff == --- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Wed Aug 3 09:38:33 2016 @@ -163,6 +163,10 @@ that continues to return an invalid connection after database restart. (kfujino) + +Ensure that the ResultSet is returned as Proxy object when +enabling the StatementDecoratorInterceptor. (kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1755059 - in /tomcat/tc8.0.x/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java webapps/docs/changelog.xml
Author: kfujino Date: Wed Aug 3 09:40:13 2016 New Revision: 1755059 URL: http://svn.apache.org/viewvc?rev=1755059&view=rev Log: Ensure that the ResultSet is returned as Proxy object when enabling the StatementDecoratorInterceptor. Modified: tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java?rev=1755059&r1=1755058&r2=1755059&view=diff == --- tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java (original) +++ tomcat/tc8.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java Wed Aug 3 09:40:13 2016 @@ -40,7 +40,11 @@ public class StatementDecoratorIntercept private static final Log logger = LogFactory.getLog(StatementDecoratorInterceptor.class); -private static final String[] EXECUTE_QUERY_TYPES = { "executeQuery" }; +protected static final String EXECUTE_QUERY = "executeQuery"; +protected static final String GETGENERATEDKEYS = "getGeneratedKeys"; +protected static final String GET_RESULTSET = "getResultSet"; + +protected static final String[] RESULTSET_TYPES = {EXECUTE_QUERY, GETGENERATEDKEYS, GET_RESULTSET}; /** * the constructors that are used to create statement proxies @@ -154,13 +158,17 @@ public class StatementDecoratorIntercept } protected boolean isExecuteQuery(String methodName) { -return EXECUTE_QUERY_TYPES[0].equals(methodName); +return EXECUTE_QUERY.equals(methodName); } protected boolean isExecuteQuery(Method method) { return isExecuteQuery(method.getName()); } +protected boolean isResultSet(Method method, boolean process) { +return process(RESULTSET_TYPES, method, process); +} + /** * Class to measure query execute time. */ @@ -236,7 +244,8 @@ public class StatementDecoratorIntercept if (compare(GETCONNECTION_VAL,method)){ return connection; } -boolean process = isExecuteQuery(method); +boolean process = false; +process = isResultSet(method, process); // check to see if we are about to execute a query // if we are executing, get the current time Object result = null; @@ -256,7 +265,7 @@ public class StatementDecoratorIntercept throw t; } } -if (process){ +if (process && result != null) { Constructor cons = getResultSetConstructor(); result = cons.newInstance(new Object[]{new ResultSetProxy(actualProxy, result)}); } Modified: tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml?rev=1755059&r1=1755058&r2=1755059&view=diff == --- tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.0.x/trunk/webapps/docs/changelog.xml Wed Aug 3 09:40:13 2016 @@ -240,6 +240,10 @@ that continues to return an invalid connection after database restart. (kfujino) + +Ensure that the ResultSet is returned as Proxy object when +enabling the StatementDecoratorInterceptor. (kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
svn commit: r1755060 - in /tomcat/tc7.0.x/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java webapps/docs/changelog.xml
Author: kfujino Date: Wed Aug 3 09:42:16 2016 New Revision: 1755060 URL: http://svn.apache.org/viewvc?rev=1755060&view=rev Log: Ensure that the ResultSet is returned as Proxy object when enabling the StatementDecoratorInterceptor. Modified: tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Modified: tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java?rev=1755060&r1=1755059&r2=1755060&view=diff == --- tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java (original) +++ tomcat/tc7.0.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java Wed Aug 3 09:42:16 2016 @@ -40,7 +40,11 @@ public class StatementDecoratorIntercept private static final Log logger = LogFactory.getLog(StatementDecoratorInterceptor.class); -private static final String[] EXECUTE_QUERY_TYPES = { "executeQuery" }; +protected static final String EXECUTE_QUERY = "executeQuery"; +protected static final String GETGENERATEDKEYS = "getGeneratedKeys"; +protected static final String GET_RESULTSET = "getResultSet"; + +protected static final String[] RESULTSET_TYPES = {EXECUTE_QUERY, GETGENERATEDKEYS, GET_RESULTSET}; /** * the constructors that are used to create statement proxies @@ -154,13 +158,17 @@ public class StatementDecoratorIntercept } protected boolean isExecuteQuery(String methodName) { -return EXECUTE_QUERY_TYPES[0].equals(methodName); +return EXECUTE_QUERY.equals(methodName); } protected boolean isExecuteQuery(Method method) { return isExecuteQuery(method.getName()); } +protected boolean isResultSet(Method method, boolean process) { +return process(RESULTSET_TYPES, method, process); +} + /** * Class to measure query execute time * @@ -239,7 +247,8 @@ public class StatementDecoratorIntercept if (compare(GETCONNECTION_VAL,method)){ return connection; } -boolean process = isExecuteQuery(method); +boolean process = false; +process = isResultSet(method, process); // check to see if we are about to execute a query // if we are executing, get the current time Object result = null; @@ -259,7 +268,7 @@ public class StatementDecoratorIntercept throw t; } } -if (process){ +if (process && result != null) { Constructor cons = getResultSetConstructor(); result = cons.newInstance(new Object[]{new ResultSetProxy(actualProxy, result)}); } Modified: tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml URL: http://svn.apache.org/viewvc/tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml?rev=1755060&r1=1755059&r2=1755060&view=diff == --- tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc7.0.x/trunk/webapps/docs/changelog.xml Wed Aug 3 09:42:16 2016 @@ -216,6 +216,10 @@ that continues to return an invalid connection after database restart. (kfujino) + +Ensure that the ResultSet is returned as Proxy object when +enabling the StatementDecoratorInterceptor. (kfujino) + - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59871] Impossible to change datetime format in OneLineFormatter/Use sane (sortable) format
https://bz.apache.org/bugzilla/show_bug.cgi?id=59871 --- Comment #6 from Michael Osipov <1983-01...@gmx.net> --- (In reply to Mark Thomas from comment #5) > This is now configurable in 9.0.x (for 9.0.0.M10 onwards) and 8.5.x (for > 8.5.5) onwards. Thank for the fix. Though, there is absolutely no documentation. So people won't know about it at all :-( -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 58433] RemoteIpValve not activated on redirect from mapping
https://bz.apache.org/bugzilla/show_bug.cgi?id=58433 --- Comment #5 from Mike Roda --- Perhaps there should be a new Valve to handle the root redirects, with the new Valve coming after RemoteIpValve so it redirects properly, and the existing functionality pulled out of CoyoteAdapter and Mapper. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59939] New: NoSuchMethodException: java.util.HashMap.get(java.lang.String)
https://bz.apache.org/bugzilla/show_bug.cgi?id=59939 Bug ID: 59939 Summary: NoSuchMethodException: java.util.HashMap.get(java.lang.String) Product: Tomcat 7 Version: 7.0.53 Hardware: PC OS: Linux Status: NEW Severity: normal Priority: P2 Component: Jasper Assignee: dev@tomcat.apache.org Reporter: housev...@gmail.com Our code is broken after upgrading Tomcat from 7.0.52 to 7.0.55 with exception javax.el.MethodNotFoundException: java.lang.NoSuchMethodException: java.util.HashMap.get(java.lang.String) The JSP code is like this 'report' is a String, and 'textMap' is a Map. When invoking textMap.get(report), ELResolver tries to find the get() method that exactly matched the argument type. The get() method takes an Object in method signature but 'report' argument is a String type. That results in the Exception. Stacktrace: Caused by: javax.el.MethodNotFoundException: java.lang.NoSuchMethodException: java.util.HashMap.get(java.lang.String) at javax.el.BeanELResolver.invoke(BeanELResolver.java:422) at org.apache.jasper.el.JasperELResolver.invoke(JasperELResolver.java:139) at org.apache.el.parser.AstValue.getValue(AstValue.java:174) at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:184) at org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:950) at org.apache.jsp.tag.web.reportSelector_tag._jspx_meth_aui_005fdropdownOption_005f0(reportSelector_tag.java:222) at org.apache.jsp.tag.web.reportSelector_tag._jspx_meth_c_005fforEach_005f0(reportSelector_tag.java:193) at org.apache.jsp.tag.web.reportSelector_tag._jspx_meth_aui_005fdropdown_005f0(reportSelector_tag.java:162) at org.apache.jsp.tag.web.reportSelector_tag.doTag(reportSelector_tag.java:126) at org.apache.jsp.tag.web.genericReport_tag._jspx_meth_vxa_005freportSelector_005f0(genericReport_tag.java:295) at org.apache.jsp.tag.web.genericReport_tag._jspx_meth_aui_005ffixedGridColumn_005f0(genericReport_tag.java:266) at org.apache.jsp.tag.web.genericReport_tag._jspx_meth_aui_005ffixedGridRow_005f0(genericReport_tag.java:231) at org.apache.jsp.tag.web.genericReport_tag.doTag(genericReport_tag.java:145) at org.apache.jsp.layouts.AraBasicDashboardLayout1_jsp._jspx_meth_vxa_005fgenericReport_005f0(AraBasicDashboardLayout1_jsp.java:169) at org.apache.jsp.layouts.AraBasicDashboardLayout1_jsp._jspService(AraBasicDashboardLayout1_jsp.java:133) ... 38 more Caused by: java.lang.NoSuchMethodException: java.util.HashMap.get(java.lang.String) at java.lang.Class.getMethod(Class.java:1786) at javax.el.BeanELResolver.invoke(BeanELResolver.java:419) ... 52 more }, RID=1ERZG1MHXPWD3PBNK67H It was working in Tomcat 7.0.52 because 7.0.52 tries to find a random method with the same name without considering the argument type. That caused problem when there is method overload and was fixed in 7.0.53 here https://bz.apache.org/bugzilla/show_bug.cgi?id=55483 This fix broke our code because now ELResolver tries to find a method exactly matching the argument type. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59939] NoSuchMethodException: java.util.HashMap.get(java.lang.String)
https://bz.apache.org/bugzilla/show_bug.cgi?id=59939 --- Comment #1 from Hao --- A logic should be added so that when there is no method overload, just return the only method that matches the name, so that it is compatible with the version 7.0.52. Current behavior broke our code in multiple places and makes method invocation hard to use. For example, the code below is broken because actionItems is an ArrayList, but the method writeValueAsString() takes an Object in method signature. javax.el.MethodNotFoundException: java.lang.NoSuchMethodException: org.codehaus.jackson.map.ObjectMapper.writeValueAsString(java.util.ArrayList) Moreover, we have a method in some class defined like this public List getActionOptions(Map mappings) And it is being invoked like this in JSP The new Tomcat version caused exception here too: Caused by: javax.el.MethodNotFoundException: java.lang.NoSuchMethodException: com.amazon.edi.ssi.lib.types.IntegrationStatus.getActionOptions(java.util.HashMap) The exception happens because ELResolver tries to find a method that matches the runtime argument type of variable 'endpointMappings', which is a HashMap. But the method signature takes an Map interface argument so it does not match. That should be fixed. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59939] NoSuchMethodException: java.util.HashMap.get(java.lang.String)
https://bz.apache.org/bugzilla/show_bug.cgi?id=59939 Hao changed: What|Removed |Added CC||housev...@gmail.com -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59911] Using certificate from pem file does not work
https://bz.apache.org/bugzilla/show_bug.cgi?id=59911 --- Comment #4 from jm009 --- > There's probably some issue with your PEM key If there was a problem with the PEM key, I would expect Tomcat to throw an exception and stop. It would be a security problem, if Tomcat would use another key than the configured one. By the way: I can display key, certificate and certificate chain with openssl without problem. > Please don't file duplicates on purpose #59910 is not a duplicate of what I have described. I just thought, that maybe #59910 could be a hint, that the certificate selection code in 9.0.0.M9 may have some shortcomings. Thank you for your help and confirmation, that it works for you. I'll do some more tests, as soon as I find some time for it. I don't have openssl and I don't have the tomcat native library installed, so that will be the first thing I am going to test. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59911] Using certificate from pem file does not work
https://bz.apache.org/bugzilla/show_bug.cgi?id=59911 --- Comment #5 from Remy Maucherat --- > > Please don't file duplicates on purpose > > #59910 is not a duplicate of what I have described. The duplicate thing was a mistake, please ignore it. > I just thought, that > maybe #59910 could be a hint, that the certificate selection code in > 9.0.0.M9 may have some shortcomings. There's no certificate selection code, Tomcat uses a virtual keystore with a single key created from your pems. The key alias is "tomcat", hence the error message. BZ 59344 is where to look. > Thank you for your help and confirmation, that it works for you. > I'll do some more tests, as soon as I find some time for it. > I don't have openssl and I don't have the tomcat native library installed, > so that will be the first thing I am going to test. Please investigate in the user list. -- You are receiving this mail because: You are the assignee for the bug. - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
[Bug 59940] New: Connector attribute certificateVerification in the new SSLHostConfig section is not requiring a client certificate
https://bz.apache.org/bugzilla/show_bug.cgi?id=59940 Bug ID: 59940 Summary: Connector attribute certificateVerification in the new SSLHostConfig section is not requiring a client certificate Product: Tomcat 8 Version: 8.5.4 Hardware: PC Status: NEW Severity: normal Priority: P2 Component: Connectors Assignee: dev@tomcat.apache.org Reporter: sh...@legalfiles.com Connector attribute "certificateVerification" in the new SSLHostConfig section is not requiring a client certificate in Tomcat 8.5.4. In Tomcat 8.0.33 I was using the clientAuth="true" connector attribute. I moved it over to the new certificateVerification="required" in the SSLHostConfig section. I have removed all client certificates and I am not getting rejected. I connect to a Tomcat 8.0.33 with not certificate and get rejected. If I add the client certificate back and connect to the 8.0.33 I am good. I have set Tomcat logs to debug and have not found any error messages, issues starting the connector or issues with bad attributes. I have used both IE and Chrome browsers. It seems as if the certificateVerification isn't being set. I searched for any issues for the certificateVerification attribute and could not find anything. I apologize up front if I missed the fix when searching for one. Here is my server.xml portion for SSL: truststoreFile="?:\?\?.jks" truststorePass="*" certificateVerification="required" protocols="TLSv1,TLSv1.1,TLSv1.2" > -- 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: r1755132 - /tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java
Author: markt Date: Thu Aug 4 01:01:53 2016 New Revision: 1755132 URL: http://svn.apache.org/viewvc?rev=1755132&view=rev Log: Trivial clean-up Modified: tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java Modified: tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java URL: http://svn.apache.org/viewvc/tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java?rev=1755132&r1=1755131&r2=1755132&view=diff == --- tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java (original) +++ tomcat/trunk/java/org/apache/catalina/authenticator/AuthenticatorBase.java Thu Aug 4 01:01:53 2016 @@ -537,7 +537,6 @@ public abstract class AuthenticatorBase response.setHeader("Expires", DATE_ONE); } -int i; if (constraints != null) { // Enforce any user data constraint for this security constraint if (log.isDebugEnabled()) { @@ -562,7 +561,7 @@ public abstract class AuthenticatorBase authRequired = false; } else { authRequired = true; -for (i = 0; i < constraints.length && authRequired; i++) { +for (int i = 0; i < constraints.length && authRequired; i++) { if (!constraints[i].getAuthConstraint()) { authRequired = false; break; - To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org
Re: svn commit: r1755056 - in /tomcat/trunk: modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java webapps/docs/changelog.xml
Am 3. August 2016 11:36:34 MESZ, schrieb kfuj...@apache.org: >Author: kfujino >Date: Wed Aug 3 09:36:34 2016 >New Revision: 1755056 > >URL: http://svn.apache.org/viewvc?rev=1755056&view=rev >Log: >Ensure that the ResultSet is returned as Proxy object when enabling the >StatementDecoratorInterceptor. > >Modified: >tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java >tomcat/trunk/webapps/docs/changelog.xml > >Modified: >tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java >URL: >http://svn.apache.org/viewvc/tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java?rev=1755056&r1=1755055&r2=1755056&view=diff >== >--- >tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java >(original) >+++ >tomcat/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/interceptor/StatementDecoratorInterceptor.java >Wed Aug 3 09:36:34 2016 >@@ -40,7 +40,11 @@ public class StatementDecoratorIntercept > >private static final Log logger = >LogFactory.getLog(StatementDecoratorInterceptor.class); > >-private static final String[] EXECUTE_QUERY_TYPES = { >"executeQuery" }; >+protected static final String EXECUTE_QUERY = "executeQuery"; >+protected static final String GETGENERATEDKEYS = >"getGeneratedKeys"; Shouldn't this be GET_GENERATED_KEYS? Regards, Felix >+protected static final String GET_RESULTSET = "getResultSet"; >+ >+protected static final String[] RESULTSET_TYPES = {EXECUTE_QUERY, >GETGENERATEDKEYS, GET_RESULTSET}; > > /** > * the constructors that are used to create statement proxies >@@ -157,13 +161,17 @@ public class StatementDecoratorIntercept > } > > protected boolean isExecuteQuery(String methodName) { >-return EXECUTE_QUERY_TYPES[0].equals(methodName); >+return EXECUTE_QUERY.equals(methodName); > } > > protected boolean isExecuteQuery(Method method) { > return isExecuteQuery(method.getName()); > } > >+protected boolean isResultSet(Method method, boolean process) { >+return process(RESULTSET_TYPES, method, process); >+} >+ > /** > * Class to measure query execute time. > */ >@@ -239,7 +247,8 @@ public class StatementDecoratorIntercept > if (compare(GETCONNECTION_VAL,method)){ > return connection; > } >-boolean process = isExecuteQuery(method); >+boolean process = false; >+process = isResultSet(method, process); > // check to see if we are about to execute a query > // if we are executing, get the current time > Object result = null; >@@ -259,7 +268,7 @@ public class StatementDecoratorIntercept > throw t; > } > } >-if (process){ >+if (process && result != null) { > Constructor cons = getResultSetConstructor(); >result = cons.newInstance(new Object[]{new ResultSetProxy(actualProxy, >result)}); > } > >Modified: tomcat/trunk/webapps/docs/changelog.xml >URL: >http://svn.apache.org/viewvc/tomcat/trunk/webapps/docs/changelog.xml?rev=1755056&r1=1755055&r2=1755056&view=diff >== >--- tomcat/trunk/webapps/docs/changelog.xml (original) >+++ tomcat/trunk/webapps/docs/changelog.xml Wed Aug 3 09:36:34 2016 >@@ -157,6 +157,10 @@ > that continues to return an invalid connection after database restart. > (kfujino) > >+ >+Ensure that the ResultSet is returned as Proxy >object when >+enabling the StatementDecoratorInterceptor. >(kfujino) >+ > > > > > > >- >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