[
https://issues.apache.org/jira/browse/ARIES-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aleksey Sushko updated ARIES-1279:
----------------------------------
Description:
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}
was:
ManagedJDBCConnection emergency closes JDBC connection before the transaction
is rolled back.
Create a service of the JDBC DataSource.
{code}
<bean id="dataSourceOragnizer" class="oracle.jdbc.pool.OracleDataSource">
<cm:managed-properties
persistent-id="oracle_oragnizer"
update-strategy="component-managed"
update-method="update"/>
</bean>
<service ref="dataSourceOragnizer" interface="javax.sql.DataSource">
<service-properties>
<entry key="datasource.name" value="db-organizer"/>
<entry key="aries.xa.name" value="db-organizer"/>
<entry key="aries.xa.username" value="test"/>
<entry key="aries.xa.password" value="test"/>
<entry key="aries.xa.partitionStrategy" value="by-connector-properties"/>
</service-properties>
</service>
{code}
In SQL query has a bug.
{code}
2014-12-08 01:04:20,214 | TRACE | l Console Thread |
TransactionCachingInterceptor | nd.TransactionCachingInterceptor 97 | 135
- org.apache.geronimo.components.geronimo-connector - 3.1.1 | supplying
connection from tx cache for tx caching interceptor
org.apache.geronimo.connector.outbound.TransactionCachingInterceptor@c4b525e
handle: nullManagedConnectionInfo:
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@5fc3d460. mc:
org.tranql.connector.jdbc.ManagedJDBCConnection@31ac1bbe]
2014-12-08 01:04:20,220 | WARN | l Console Thread |
GeronimoConnectionEventListener | .GeronimoConnectionEventListener 89 | 135
- org.apache.geronimo.components.geronimo-connector - 3.1.1 |
connectionErrorOccurred called with null
java.sql.SQLException: ORA-00904: "DOC_NUMBER": invalid identifier
...
{code}
Further, there is an emergency closing the connection
{code}
2014-12-08 01:04:20,227 | TRACE | l Console Thread |
TransactionCachingInterceptor | nd.TransactionCachingInterceptor 117 | 135
- org.apache.geronimo.components.geronimo-connector - 3.1.1 | destroying
connection for tx caching interceptor
org.apache.geronimo.connector.outbound.TransactionCachingInterceptor@c4b525e
handle: nullManagedConnectionInfo:
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@5fc3d460. mc:
org.tranql.connector.jdbc.ManagedJDBCConnection@31ac1bbe]
2014-12-08 01:04:20,227 | TRACE | l Console Thread |
TransactionEnlistingInterceptor | .TransactionEnlistingInterceptor 96 | 135
- org.apache.geronimo.components.geronimo-connector - 3.1.1 | Delisting
connection handle: nullManagedConnectionInfo:
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@5fc3d460. mc:
org.tranql.connector.jdbc.ManagedJDBCConnection@31ac1bbe] with XAResource
org.apache.geronimo.connector.outbound.LocalXAResource@58abcff3 in transaction:
org.apache.geronimo.transaction.manager.TransactionImpl@76d51962
java.lang.Exception: stack trace
at
org.apache.geronimo.connector.outbound.TransactionEnlistingInterceptor.returnConnection(TransactionEnlistingInterceptor.java:96)[135:org.apache.geronimo.components.geronimo-connector:3.1.1]
at
org.apache.geronimo.connector.outbound.TransactionCachingInterceptor.returnConnection(TransactionCachingInterceptor.java:119)[135:org.apache.geronimo.components.geronimo-connector:3.1.1]
at
org.apache.geronimo.connector.outbound.ConnectionHandleInterceptor.returnConnection(ConnectionHandleInterceptor.java:71)[135:org.apache.geronimo.components.geronimo-connector:3.1.1]
at
org.apache.geronimo.connector.outbound.TCCLInterceptor.returnConnection(TCCLInterceptor.java:50)[135:org.apache.geronimo.components.geronimo-connector:3.1.1]
at
org.apache.geronimo.connector.outbound.ConnectionTrackingInterceptor.returnConnection(ConnectionTrackingInterceptor.java:91)[135:org.apache.geronimo.components.geronimo-connector:3.1.1]
at
org.apache.geronimo.connector.outbound.GeronimoConnectionEventListener.connectionErrorOccurred(GeronimoConnectionEventListener.java:95)[135:org.apache.geronimo.components.geronimo-connector:3.1.1]
at
org.tranql.connector.AbstractManagedConnection.unfilteredConnectionError(AbstractManagedConnection.java:126)[133:org.apache.aries.transaction.jdbc:2.1.0]
at
org.tranql.connector.AbstractManagedConnection.connectionError(AbstractManagedConnection.java:115)[133:org.apache.aries.transaction.jdbc:2.1.0]
at
org.tranql.connector.jdbc.ConnectionHandle.connectionError(ConnectionHandle.java:112)[133:org.apache.aries.transaction.jdbc:2.1.0]
at
org.tranql.connector.jdbc.PreparedStatementHandle.execute(PreparedStatementHandle.java:179)[133:org.apache.aries.transaction.jdbc:2.1.0]
...
2014-12-08 01:04:20,230 | TRACE | l Console Thread |
tSinglePoolConnectionInterceptor | tSinglePoolConnectionInterceptor 106 | 135
- org.apache.geronimo.components.geronimo-connector - 3.1.1 | returning
connection null for MCI ManagedConnectionInfo:
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@5fc3d460. mc:
org.tranql.connector.jdbc.ManagedJDBCConnection@31ac1bbe] and MC
org.tranql.connector.jdbc.ManagedJDBCConnection@31ac1bbe to pool
org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor@1a51706c
2014-12-08 01:04:20,230 | INFO | l Console Thread |
SinglePoolConnectionInterceptor | .SinglePoolConnectionInterceptor 146 | 135
- org.apache.geronimo.components.geronimo-connector - 3.1.1 | Removing
ManagedConnectionInfo:
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@5fc3d460. mc:
org.tranql.connector.jdbc.ManagedJDBCConnection@31ac1bbe] from pool
org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor@1a51706c
2014-12-08 01:04:20,231 | TRACE | l Console Thread |
tSinglePoolConnectionInterceptor | tSinglePoolConnectionInterceptor 183 | 135
- org.apache.geronimo.components.geronimo-connector - 3.1.1 | Discarding
connection in pool
org.apache.geronimo.connector.outbound.SinglePoolConnectionInterceptor@1a51706c
handle: nullManagedConnectionInfo:
org.apache.geronimo.connector.outbound.ManagedConnectionInfo@5fc3d460. mc:
org.tranql.connector.jdbc.ManagedJDBCConnection@31ac1bbe]
{code}
Further, there is rolled back. The system tries again to close the connection.
{code}
2014-12-08 01:04:20,246 | ERROR | l Console Thread | RollbackTask
| transaction.manager.RollbackTask 68 | 69 -
org.apache.aries.transaction.manager - 1.1.0 | Unexpected exception committing
org.apache.geronimo.connector.outbound.LocalXAResource@58abcff3; continuing to
commit other RMs
javax.transaction.xa.XAException
at
org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:88)[135:org.apache.geronimo.components.geronimo-connector:3.1.1]
at
org.apache.geronimo.transaction.manager.RollbackTask.run(RollbackTask.java:64)[69:org.apache.aries.transaction.manager:1.1.0]
at
org.apache.geronimo.transaction.manager.TransactionImpl.rollbackResources(TransactionImpl.java:599)[69:org.apache.aries.transaction.manager:1.1.0]
at
org.apache.geronimo.transaction.manager.TransactionImpl.rollback(TransactionImpl.java:498)[69:org.apache.aries.transaction.manager:1.1.0]
at
org.apache.geronimo.transaction.manager.TransactionManagerImpl.rollback(TransactionManagerImpl.java:265)[69:org.apache.aries.transaction.manager:1.1.0]
at
myapp.impl.commands.ImportDoc.doExecute(ImportDoc.java:165)[141:documents-reload:2.2.0.SNAPSHOT]
at
org.apache.karaf.shell.console.OsgiCommandSupport.execute(OsgiCommandSupport.java:38)[16:org.apache.karaf.shell.console:2.3.8]
at
org.apache.felix.gogo.commands.basic.AbstractCommand.execute(AbstractCommand.java:35)[16:org.apache.karaf.shell.console:2.3.8]
at
org.apache.felix.gogo.runtime.CommandProxy.execute(CommandProxy.java:78)[16:org.apache.karaf.shell.console:2.3.8]
at
org.apache.felix.gogo.runtime.Closure.executeCmd(Closure.java:474)[16:org.apache.karaf.shell.console:2.3.8]
at
org.apache.felix.gogo.runtime.Closure.executeStatement(Closure.java:400)[16:org.apache.karaf.shell.console:2.3.8]
at
org.apache.felix.gogo.runtime.Pipe.run(Pipe.java:108)[16:org.apache.karaf.shell.console:2.3.8]
at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:183)[16:org.apache.karaf.shell.console:2.3.8]
at
org.apache.felix.gogo.runtime.Closure.execute(Closure.java:120)[16:org.apache.karaf.shell.console:2.3.8]
at
org.apache.felix.gogo.runtime.CommandSessionImpl.execute(CommandSessionImpl.java:89)[16:org.apache.karaf.shell.console:2.3.8]
at
org.apache.karaf.shell.console.jline.Console.run(Console.java:184)[16:org.apache.karaf.shell.console:2.3.8]
at java.lang.Thread.run(Thread.java:745)[:1.7.0_72]
Caused by: javax.resource.spi.LocalTransactionException: Unable to rollback
at
org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:113)[133:org.apache.aries.transaction.jdbc:2.1.0]
at
org.tranql.connector.AbstractManagedConnection$LocalTransactionImpl.rollback(AbstractManagedConnection.java:203)[133:org.apache.aries.transaction.jdbc:2.1.0]
at
org.apache.geronimo.connector.outbound.LocalXAResource.rollback(LocalXAResource.java:86)[135:org.apache.geronimo.components.geronimo-connector:3.1.1]
... 16 more
Caused by: java.sql.SQLException: Closed Connection
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:113)[132:wrap_mvn_com.oracle_ojdbc14_10.2.0.5:0]
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:147)[132:wrap_mvn_com.oracle_ojdbc14_10.2.0.5:0]
at
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:209)[132:wrap_mvn_com.oracle_ojdbc14_10.2.0.5:0]
at
oracle.jdbc.driver.PhysicalConnection.rollback(PhysicalConnection.java:1195)[132:wrap_mvn_com.oracle_ojdbc14_10.2.0.5:0]
at
oracle.jdbc.OracleConnectionWrapper.rollback(OracleConnectionWrapper.java:122)[132:wrap_mvn_com.oracle_ojdbc14_10.2.0.5:0]
at
org.tranql.connector.jdbc.ManagedJDBCConnection.localTransactionRollback(ManagedJDBCConnection.java:111)[133:org.apache.aries.transaction.jdbc:2.1.0]
... 18 more
{code}
Priority: Critical (was: Major)
Summary: Transaction does not work on error SQLException (was: Aries
Transactions: Emergency closes JDBC connection before the transaction is rolled
back)
> Transaction does not work on error SQLException
> -----------------------------------------------
>
> Key: ARIES-1279
> URL: https://issues.apache.org/jira/browse/ARIES-1279
> 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: transaction-itest.zip
>
>
> 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
(v6.3.4#6332)