[ https://issues.apache.org/jira/browse/DERBY-4731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12884865#action_12884865 ]
Kathey Marsden commented on DERBY-4731: --------------------------------------- I checked in fixtures for the RawStore error and the the Assert case to XATest. The fixtures are xtestXATempTableD4731_RawStore() and xtestXATempTableD4731_Assert and can be enabled by removing the 'x' in front. > XA two phase commit with active GLOBAL TEMPORARY TABLE causes An internal > error identified by RawStore module > --------------------------------------------------------------------------------------------------------------- > > Key: DERBY-4731 > URL: https://issues.apache.org/jira/browse/DERBY-4731 > Project: Derby > Issue Type: Bug > Components: JDBC > Affects Versions: 10.3.3.0, 10.4.2.0, 10.5.3.0, 10.6.1.0, 10.7.0.0 > Reporter: Kathey Marsden > Assignee: Mike Matrigali > Attachments: ReproXATempTable.java, ReproXATempTableAssert.java, > utilXid.java > > > If an XA two phase commit is performed while an GLOBAL TEMPORARY TABLE is > active, it will fail with: > XAER_RMERR > Exception in thread "main" javax.transaction.xa.XAException: An internal > error w > as identified by RawStore module. > at > org.apache.derby.jdbc.EmbedXAResource.wrapInXAException(EmbedXAResour > ce.java:820) > at > org.apache.derby.jdbc.EmbedXAResource.commit(EmbedXAResource.java:143 > ) > at ReproXATempTable.tempTableInXA(ReproXATempTable.java:51) > at ReproXATempTable.main(ReproXATempTable.java:14) > Caused by: java.sql.SQLTransactionRollbackException: An internal error was > ident > ified by RawStore module. > at > org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE > xceptionFactory40.java:88) > at > org.apache.derby.impl.jdbc.Util.generateCsSQLException(Util.java:256) > at > org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException > (TransactionResourceImpl.java:391) > at > org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Tr > ansactionResourceImpl.java:346) > at > org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConne > ction.java:2269) > at > org.apache.derby.impl.jdbc.EmbedConnection.xa_commit(EmbedConnection. > java:2924) > at > org.apache.derby.jdbc.XATransactionState.xa_commit(XATransactionState > .java:339) > at > org.apache.derby.jdbc.EmbedXAResource.commit(EmbedXAResource.java:141 > ) > ... 2 more > Caused by: java.sql.SQLException: An internal error was identified by > RawStore m > odule. > at > org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExc > eptionFactory.java:45) > at > org.apache.derby.impl.jdbc.SQLExceptionFactory40.wrapArgsForTransport > AcrossDRDA(SQLExceptionFactory40.java:119) > at > org.apache.derby.impl.jdbc.SQLExceptionFactory40.getSQLException(SQLE > xceptionFactory40.java:70) > ... 9 more > Caused by: ERROR 40XT0: An internal error was identified by RawStore module. > at > org.apache.derby.iapi.error.StandardException.newException(StandardEx > ception.java:276) > at > org.apache.derby.impl.store.raw.xact.Xact.setActiveState(Xact.java:18 > 09) > at > org.apache.derby.impl.store.raw.xact.Xact.addContainer(Xact.java:1357 > ) > at org.apache.derby.impl.store.access.heap.Heap.create(Heap.java:274) > at > org.apache.derby.impl.store.access.heap.HeapConglomerateFactory.creat > eConglomerate(HeapConglomerateFactory.java:195) > at > org.apache.derby.impl.store.access.RAMTransaction.createConglomerate( > RAMTransaction.java:823) > at > org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.clean > upTempTableOnCommitOrRollback(GenericLanguageConnectionContext.java:1345) > at > org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.doCom > mit(GenericLanguageConnectionContext.java:1263) > at > org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.xaCom > mit(GenericLanguageConnectionContext.java:1160) > at > org.apache.derby.impl.jdbc.EmbedConnection.xa_commit(EmbedConnection. > java:2921) > ... 4 more > See attached program for reproduction. > javac -g ReproXATempTable.java utilXid.java > java ReproXATempTable > To work around the issue, you can drop the temp table before ending the xa > transaction. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.