Commons Dbcp
  1. Commons Dbcp
  2. DBCP-97

setAutoCommit(true) when returning connection to the pool

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: Nightly Builds
    • Fix Version/s: 1.3
    • Labels:
      None
    • Environment:

      Operating System: All
      Platform: All

      Description

      From the Struts user list: [OT] RE: Stackoverflow after DB inactivity
      (MySQL reconnect problem)
      http://www.mail-archive.com/mysql@lists.mysql.com/msg70196.html

      Giving a hint to the database driver that you don't need long running
      transactions makes sense.

      setAutoCommit(true) should be added to PoolableConnectionFactory.passivateObject

        Issue Links

          Activity

          Hide
          Dirk Verbeeck added a comment -

          implemented in PoolableConnectionFactory revision: 1.14

          Show
          Dirk Verbeeck added a comment - implemented in PoolableConnectionFactory revision: 1.14
          Hide
          Phil Steitz added a comment -

          Need to verify this fix is correct and necessary.

          Show
          Phil Steitz added a comment - Need to verify this fix is correct and necessary.
          Hide
          Dain Sundstrom added a comment -

          Yes, this is correct. When auto commit is off, you have an open transaction with the database, so leaving auto commit off while a connection is idle in the pool is a bad idea.

          One note. The current passivate code has the following block:

          conn.clearWarnings();
          if(!conn.getAutoCommit())

          { conn.setAutoCommit(true); }

          Do we want the clearWarnings() after the potential autocommit change?

          Show
          Dain Sundstrom added a comment - Yes, this is correct. When auto commit is off, you have an open transaction with the database, so leaving auto commit off while a connection is idle in the pool is a bad idea. One note. The current passivate code has the following block: conn.clearWarnings(); if(!conn.getAutoCommit()) { conn.setAutoCommit(true); } Do we want the clearWarnings() after the potential autocommit change?
          Hide
          Dain Sundstrom added a comment -

          Fixed some time ago.

          Show
          Dain Sundstrom added a comment - Fixed some time ago.

            People

            • Assignee:
              Unassigned
              Reporter:
              Dirk Verbeeck
            • Votes:
              0 Vote for this issue
              Watchers:
              0 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development