Author: kfujino Date: Wed Aug 23 08:13:48 2017 New Revision: 1805864 URL: http://svn.apache.org/viewvc?rev=1805864&view=rev Log: Fix https://bz.apache.org/bugzilla/show_bug.cgi?id=61425 Ensure that transaction of idle connection has terminated when the testWhileIdle is set to true and defaultAutoCommit is set to false. Patch provided by WangZheng
Modified: tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.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/PooledConnection.java URL: http://svn.apache.org/viewvc/tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java?rev=1805864&r1=1805863&r2=1805864&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java (original) +++ tomcat/tc8.5.x/trunk/modules/jdbc-pool/src/main/java/org/apache/tomcat/jdbc/pool/PooledConnection.java Wed Aug 23 08:13:48 2017 @@ -541,6 +541,22 @@ public class PooledConnection { } if (stmt!=null) try { stmt.close();} catch (Exception ignore2){/*NOOP*/} + + try { + if(!connection.getAutoCommit()) { + connection.rollback(); + } + } catch (SQLException e) { + // do nothing + } + } finally { + try { + if(!connection.getAutoCommit()) { + connection.commit(); + } + } catch (SQLException e) { + // do nothing + } } return false; } //validate 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=1805864&r1=1805863&r2=1805864&view=diff ============================================================================== --- tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml (original) +++ tomcat/tc8.5.x/trunk/webapps/docs/changelog.xml Wed Aug 23 08:13:48 2017 @@ -131,6 +131,16 @@ </fix> </changelog> </subsection> + <subsection name="jdbc-pool"> + <changelog> + <fix> + <bug>61425</bug>: Ensure that transaction of idle connection has + terminated when the <code>testWhileIdle</code> is set to + <code>true</code> and <code>defaultAutoCommit</code> is set to + <code>false</code>. Patch provided by WangZheng. (kfujino) + </fix> + </changelog> + </subsection> </section> <section name="Tomcat 8.5.20 (markt)" rtext="2017-08-08"> <subsection name="Catalina"> --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org