[jboss-jira] [JBoss JIRA] Created: (JBAS-4176) Error in delist masks the real error creating the connection handle in BaseConnectionManager2

Adrian Brock (JIRA) jira-events at lists.jboss.org
Mon Mar 5 06:47:17 EST 2007


Error in delist masks the real error creating the connection handle in BaseConnectionManager2
---------------------------------------------------------------------------------------------

                 Key: JBAS-4176
                 URL: http://jira.jboss.com/jira/browse/JBAS-4176
             Project: JBoss Application Server
          Issue Type: Bug
      Security Level: Public (Everyone can see)
          Components: JCA service
            Reporter: Adrian Brock
         Assigned To: Weston Price
             Fix For: JBossAS-4.2.0.CR1


There is a problem with the error reporting in BaseConnectionManager2.allocationConnection().

When it can't get a connection handle, it invokes managedConnectionDisconnected() to
make sure any work already done is undone, e.g. delist the resource and return to the pool.

The problem is that an error thrown from managedConnectionDisconnected()
will be given to the user rather than the original error thrown when getting the handle.

      // Ask the managed connection for a connection
      Object connection = null;
      try
      {
         connection = cl.getManagedConnection().getConnection(subject, cri);
      }
      catch (Throwable t)
      {
         // HERE: Error from this method
         managedConnectionDisconnected(cl);
         // Means this original error is not thrown
         JBossResourceException.rethrowAsResourceException(
               "Unchecked throwable in ManagedConnection.getConnection() cl=" + cl, t);
      }

In fact, if we do get an error asking for a handle, we should probably just quietly (no logging above DEBUG)
destroy the connection and then rethrow the original error.

i.e.
      catch (Throwable t)
      {
         // HERE: Destroy the connection
         returnManagedConnection(cl, true);
         JBossResourceException.rethrowAsResourceException(
               "Unchecked throwable in ManagedConnection.getConnection() cl=" + cl, t);
      }


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-jira mailing list