db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Knut Anders Hatlen (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (DERBY-6595) CheckToursDBTest failed while updating sequence value on disk
Date Thu, 05 Jun 2014 15:21:01 GMT

    [ https://issues.apache.org/jira/browse/DERBY-6595?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14018859#comment-14018859
] 

Knut Anders Hatlen commented on DERBY-6595:
-------------------------------------------

I haven't seen the failure again in 1450 runs, so the patch seems to have fixed the issue.

I'm wondering if the problem is triggered by some interaction with the index statistics daemon.
That would explain why it's intermittent. The index statistics daemon does put the data dictionary
into write mode when storing the new statistics, which could affect the checks done in DD.doneReading()
when determining whether or not to call clearCaches().

> CheckToursDBTest failed while updating sequence value on disk
> -------------------------------------------------------------
>
>                 Key: DERBY-6595
>                 URL: https://issues.apache.org/jira/browse/DERBY-6595
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.11.0.0
>            Reporter: Knut Anders Hatlen
>         Attachments: derby-6595-01-aa-dontClearSequenceCache.diff, derby.log, error-stacktrace.txt
>
>
> I saw a failure in CheckToursDBTest while running the demo test suite on trunk. It was
reported as an ArrayIndexOutOfBoundsException. The ArrayIndexOutOfBoundsException happened
during cleanup and shadowed the original exception. The original exception in derby.log looked
like this:
> {noformat}
> ERROR XSTA2: A transaction was already active, when attempt was made to make another
transaction active.
> 	at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
> 	at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:285)
> 	at org.apache.derby.impl.store.raw.xact.XactFactory.pushTransactionContext(XactFactory.java:766)
> 	at org.apache.derby.impl.store.raw.xact.XactFactory.startCommonTransaction(XactFactory.java:293)
> 	at org.apache.derby.impl.store.raw.xact.XactFactory.startNestedUpdateUserTransaction(XactFactory.java:350)
> 	at org.apache.derby.impl.store.raw.RawStore.startNestedUpdateUserTransaction(RawStore.java:460)
> 	at org.apache.derby.impl.store.access.RAMTransaction.startNestedUserTransaction(RAMTransaction.java:2326)
> 	at org.apache.derby.impl.sql.catalog.SequenceUpdater.updateCurrentValueOnDisk(SequenceUpdater.java:486)
> 	at org.apache.derby.impl.sql.catalog.SequenceUpdater.clean(SequenceUpdater.java:218)
> 	at org.apache.derby.impl.sql.catalog.SequenceUpdater.clearIdentity(SequenceUpdater.java:257)
> 	at org.apache.derby.impl.services.cache.ConcurrentCache.removeEntry(ConcurrentCache.java:167)
> 	at org.apache.derby.impl.services.cache.ConcurrentCache.ageOut(ConcurrentCache.java:583)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.clearSequenceCaches(DataDictionaryImpl.java:8968)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.clearCaches(DataDictionaryImpl.java:8951)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.clearCaches(DataDictionaryImpl.java:8937)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.doneReading(DataDictionaryImpl.java:1184)
> 	at org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:519)
> 	at org.apache.derby.impl.sql.GenericStatement.prepareStorable(GenericStatement.java:687)
> 	at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.compileStatement(SPSDescriptor.java:373)
> 	at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.prepareAndRelease(SPSDescriptor.java:264)
> 	at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.getPreparedStatement(SPSDescriptor.java:739)
> 	at org.apache.derby.iapi.sql.dictionary.SPSDescriptor.getPreparedStatement(SPSDescriptor.java:655)
> 	at org.apache.derby.impl.sql.execute.GenericTriggerExecutor.executeSPS(GenericTriggerExecutor.java:171)
> 	at org.apache.derby.impl.sql.execute.GenericTriggerExecutor.executeWhenClauseAndAction(GenericTriggerExecutor.java:346)
> 	at org.apache.derby.impl.sql.execute.RowTriggerExecutor.fireTrigger(RowTriggerExecutor.java:113)
> 	at org.apache.derby.impl.sql.execute.TriggerEventActivator.notifyEvent(TriggerEventActivator.java:272)
> 	at org.apache.derby.impl.sql.execute.UpdateResultSet.fireAfterTriggers(UpdateResultSet.java:831)
> 	at org.apache.derby.impl.sql.execute.UpdateResultSet.open(UpdateResultSet.java:282)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:470)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:349)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1338)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:704)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:631)
> 	at org.apache.derbyTesting.functionTests.tests.demo.CheckToursDBTest.doUpdate(CheckToursDBTest.java:163)
> 	at org.apache.derbyTesting.functionTests.tests.demo.CheckToursDBTest.testToursDB(CheckToursDBTest.java:108)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:483)
> 	at junit.framework.TestCase.runTest(TestCase.java:168)
> 	at junit.framework.TestCase.runBare(TestCase.java:134)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:118)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:440)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:457)
> 	at junit.framework.TestResult$1.protect(TestResult.java:110)
> 	at junit.framework.TestResult.runProtected(TestResult.java:128)
> 	at junit.framework.TestResult.run(TestResult.java:113)
> 	at junit.framework.TestCase.run(TestCase.java:124)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:232)
> 	at junit.framework.TestSuite.run(TestSuite.java:227)
> 	at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
> 	at junit.extensions.TestSetup$1.protect(TestSetup.java:23)
> 	at junit.framework.TestResult.runProtected(TestResult.java:128)
> 	at junit.extensions.TestSetup.run(TestSetup.java:27)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:232)
> 	at junit.framework.TestSuite.run(TestSuite.java:227)
> 	at junit.framework.TestSuite.runTest(TestSuite.java:232)
> 	at junit.framework.TestSuite.run(TestSuite.java:227)
> 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.run(JUnitTestRunner.java:518)
> 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.launch(JUnitTestRunner.java:1052)
> 	at org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner.main(JUnitTestRunner.java:906)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message