aries-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aleksey Sushko (JIRA)" <>
Subject [jira] [Issue Comment Deleted] (ARIES-1279) Transaction does not work on error SQLException
Date Mon, 08 Dec 2014 22:52:13 GMT


Aleksey Sushko updated ARIES-1279:
    Comment: was deleted

(was: Error occurs SQLException.
Fires method of connectionErrorOccurred GeronimoConnectionEventListener

89: connectionErrorOccurred called with

Signal is sent to the destroy connection

95: stack.returnConnection(ci, ConnectionReturnAction.DESTROY);

There is closing the current connection.

117: destroying connection 

Triggered the handler TransactionEnlistingInterceptor.
TransactionImpl shifts XAResource object from activeXaResources to suspendedXaResources.
Information about the connection remains in resourceManagers.

Further, in the case enters the handler AbstractSinglePoolConnectionInterceptor.

106: returning connection null for MCI ManagedConnectionInfo ...
161: mc.destroy();	// Removing ManagedConnectionInfo ...
     // call ManagedJDBCConnection -> AbstractManagedConnection.destroy()
183: Discarding connection in pool

!!! Connection closed !!!

The transaction does not know that the connection is closed.

It comes to the general transaction.rollback().
TransactionImpl cycle runs through a list of objects of resourceManagers.
Each object sends a rollback.

> Transaction does not work on error SQLException
> -----------------------------------------------
>                 Key: ARIES-1279
>                 URL:
>             Project: Aries
>          Issue Type: Bug
>          Components: Transaction
>         Environment: org.apache.aries.transaction.jdbc:2.1.0
> org.apache.aries.transaction.manager:1.1.0
> org.apache.geronimo.components.geronimo-connector:3.1.1
>            Reporter: Aleksey Sushko
>            Priority: Critical
>         Attachments:
> Tests show incorrect operation of the database.
> Stack error bit different. But the result is the same.
> If the error on the level of queries to the database, the test falls.
> If the error in the logic of business process, the test passes.
> {code}throw new Exception("send error");  // it's test work OK{code}

This message was sent by Atlassian JIRA

View raw message