https://issues.apache.org/bugzilla/show_bug.cgi?id=51786

             Bug #: 51786
           Summary: Discarded connection stay active in pool
           Product: Tomcat Modules
           Version: unspecified
          Platform: PC
        OS/Version: Linux
            Status: NEW
          Severity: major
          Priority: P2
         Component: jdbc-pool
        AssignedTo: dev@tomcat.apache.org
        ReportedBy: jul...@vaudour.net
    Classification: Unclassified


Hi,
I wrote an JdbcInterceptor that flag connection as discarded in case of
Exception that makes the connection unusable.
The problem is:
when I call close on the connection, it is not returned to the pool and it is
still considered as an active connection in the pool.
The cause of the problem is those pieces of code in ProxyConnection:

if (compare(CLOSE_VAL,method)) {
            if (isClosed()) return null; //noop for already closed.
            PooledConnection poolc = this.connection;
            this.connection = null;
            pool.returnConnection(poolc);
            return null;
        }


and

public boolean isClosed() {
        return connection==null || connection.isDiscarded();
    }

-- 
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

Reply via email to