Return-Path: X-Original-To: apmail-db-derby-dev-archive@www.apache.org Delivered-To: apmail-db-derby-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 07FC1C95D for ; Thu, 5 Jun 2014 15:21:02 +0000 (UTC) Received: (qmail 90211 invoked by uid 500); 5 Jun 2014 15:21:01 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 90193 invoked by uid 500); 5 Jun 2014 15:21:01 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 90185 invoked by uid 99); 5 Jun 2014 15:21:01 -0000 Received: from arcas.apache.org (HELO arcas.apache.org) (140.211.11.28) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 05 Jun 2014 15:21:01 +0000 Date: Thu, 5 Jun 2014 15:21:01 +0000 (UTC) From: "Knut Anders Hatlen (JIRA)" To: derby-dev@db.apache.org Message-ID: In-Reply-To: References: Subject: [jira] [Commented] (DERBY-6595) CheckToursDBTest failed while updating sequence value on disk 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/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)