db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mike Matrigali (JIRA)" <j...@apache.org>
Subject [jira] Updated: (DERBY-4731) XA two phase commit with active GLOBAL TEMPORARY TABLE causes An internal error identified by RawStore module
Date Sun, 11 Jul 2010 21:57:50 GMT

     [ https://issues.apache.org/jira/browse/DERBY-4731?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Mike Matrigali updated DERBY-4731:
----------------------------------


I've successfully backported this all the way back to 10.4.  When I try the backport to 10.3
I am getting one error in the client/server run of the new test.  I don't think this is an
issue with the actual change, but some fix that not made it back to the 10.3 line.  It is
sort of hard to prove as without the fix the test fails with the expected error that the test
is exercising.  The problem seems similar to  	 DERBY-4310 but that fix is in 10.3. :

There was 1 error:
1) testXATempTableD4731_RawStore(org.apache.derbyTesting.functionTests.tests.jdb
capi.XATest)java.sql.SQLException: Error executing a XAResource.commit(), server
 returned XAER_RMFAIL.
    at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExcepti
onFactory.java:46)
    at org.apache.derby.client.am.SqlException.getSQLException(SqlException.java
:362)
    at org.apache.derby.client.am.Statement.close(Statement.java:506)
    at org.apache.derbyTesting.functionTests.tests.jdbcapi.XATest.doXATempTableD
4731Work(XATest.java:1166)
    at org.apache.derbyTesting.functionTests.tests.jdbcapi.XATest.testXATempTabl
eD4731_RawStore(XATest.java:1096)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java
:79)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorI
mpl.java:43)
    at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:99)
    at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
    at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
    at junit.extensions.TestSetup.run(TestSetup.java:23)
    at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
    at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
    at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
    at junit.extensions.TestSetup.run(TestSetup.java:23)
    at org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:57)
    at junit.extensions.TestDecorator.basicRun(TestDecorator.java:22)
    at junit.extensions.TestSetup$1.protect(TestSetup.java:19)
    at junit.extensions.TestSetup.run(TestSetup.java:23)
Caused by: org.apache.derby.client.am.SqlException: Error executing a XAResource
.commit(), server returned XAER_RMFAIL.
    at org.apache.derby.client.net.NetXAResource.xaRetValErrorAccumSQL(NetXAReso
urce.java:954)
    at org.apache.derby.client.net.NetXAConnection.readCommit(NetXAConnection.ja
va:184)
    at org.apache.derby.client.net.NetConnection.readXACommit_(NetConnection.jav
a:1827)
    at org.apache.derby.client.am.Connection.readCommit(Connection.java:663)
    at org.apache.derby.client.am.Connection.readAutoCommit(Connection.java:657)
    at org.apache.derby.client.am.Statement.readCloseResultSets(Statement.java:1
703)
    at org.apache.derby.client.am.Statement.readCloseResultSets(Statement.java:1
667)
    at org.apache.derby.client.am.Statement.readClose(Statement.java:1606)
    at org.apache.derby.client.am.Statement.flowClose(Statement.java:1589)
    at org.apache.derby.client.am.Statement.closeX(Statement.java:539)
    at org.apache.derby.client.am.Statement.close(Statement.java:501)
    ... 42 more

> 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
>             Fix For: 10.7.0.0
>
>         Attachments: derby_4731.diff, derby_4731_2.diff, 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.


Mime
View raw message