Return-Path: X-Original-To: apmail-aries-dev-archive@www.apache.org Delivered-To: apmail-aries-dev-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id 7E9269E27 for ; Mon, 8 Dec 2014 22:31:14 +0000 (UTC) Received: (qmail 89542 invoked by uid 500); 8 Dec 2014 22:31:13 -0000 Delivered-To: apmail-aries-dev-archive@aries.apache.org Received: (qmail 89475 invoked by uid 500); 8 Dec 2014 22:31:13 -0000 Mailing-List: contact dev-help@aries.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@aries.apache.org Delivered-To: mailing list dev@aries.apache.org Received: (qmail 89328 invoked by uid 99); 8 Dec 2014 22:31:13 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Mon, 08 Dec 2014 22:31:13 +0000 Date: Mon, 8 Dec 2014 22:31:13 +0000 (UTC) From: "Aleksey Sushko (JIRA)" To: dev@aries.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Updated] (ARIES-1279) Aries Transactions: Emergency closes JDBC connection before the transaction is rolled back MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 [ https://issues.apache.org/jira/browse/ARIES-1279?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Aleksey Sushko updated ARIES-1279: ---------------------------------- Attachment: 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} > Aries Transactions: Emergency closes JDBC connection before the transaction is rolled back > ------------------------------------------------------------------------------------------ > > 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 > Attachments: transaction-itest.zip > > > ManagedJDBCConnection emergency closes JDBC connection before the transaction is rolled back. > Create a service of the JDBC DataSource. > {code} > > persistent-id="oracle_oragnizer" > update-strategy="component-managed" > update-method="update"/> > > > > > > > > > > > {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} -- This message was sent by Atlassian JIRA (v6.3.4#6332)