db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rick Hillegas (JIRA)" <j...@apache.org>
Subject [jira] Commented: (DERBY-4393) lang.SequenceTest fails w/ "Sequence 'ALPHA_SEQ' already exists." on phoneME/cvm
Date Mon, 05 Oct 2009 14:25:31 GMT

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

Rick Hillegas commented on DERBY-4393:
--------------------------------------

This is a familiar problem on the phoneME platform, where the tests run in the opposite order
that they run on other VMs. When I write test cases, I tackle this problem by putting some
unique identifier in the name of the test case and then incorporating that identifier into
the names of all the schema objects referenced by the test case. This is a simple way to guarantee
that the object names won't collide if the tests run in a different order.

So for instance, the first test case would look like this:

    public void test_01_CreateSequence() throws SQLException {
        Statement s = createStatement();
        s.executeUpdate("CREATE SEQUENCE mySeq_01");
    }

An alternative solution would be to put some logic in the tearDown() method to destroy the
schemas created by the test cases.

I don't recommend putting cleanup logic in the test cases themselves. That approach is brittle
because a test case can fail before it gets to its cleanup logic. The previous two approaches
don't have this problem.


> lang.SequenceTest fails w/ "Sequence 'ALPHA_SEQ' already exists." on phoneME/cvm
> --------------------------------------------------------------------------------
>
>                 Key: DERBY-4393
>                 URL: https://issues.apache.org/jira/browse/DERBY-4393
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>    Affects Versions: 10.6.0.0
>         Environment: OS:
> Linux .... 32bits
> Linux 2.6.22-14-generic #1 SMP Sun Oct 14 23:05:12 GMT 2007 GNU/Linux
> JVM:
> Product: phoneME Advanced (phoneme_advanced_mr2-b116)
> Profile: Foundation Profile Specification 1.1
> JVM:     CVM phoneme_advanced_mr2-b116 (interpreter loop)
>            Reporter: Ole Solberg
>            Assignee: Ole Solberg
>         Attachments: DERBY-4393_1.diff.txt, DERBY-4393_2.diff.txt, DERBY-4393_3.diff.txt
>
>
> Seen since 2009-09-03. Possibly related to DERBY-4284 / svn 811009?
> See e.g. http://dbtg.foundry.sun.com/derby/test/Daily/javaME/testing/testlog/ubuntu/820325-suitesAll_diff.txt

> 20) testCreateWithSchemaDropWithNoSchema(org.apache.derbyTesting.functionTests.tests.lang.SequenceTest)java.sql.SQLException:
Sequence 'ALPHA_SEQ' already exists.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
> 	at org.apache.derbyTesting.functionTests.tests.lang.SequenceTest.testCreateWithSchemaDropWithNoSchema(Unknown
Source)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at sun.misc.CVM.runMain(Unknown Source)
> Caused by: ERROR X0Y68: Sequence 'ALPHA_SEQ' already exists.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.CreateSequenceConstantAction.executeConstantAction(Unknown
Source)
> 	at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> 	... 55 more
> 21) testCreateWithSchemaSpecifiedCreateTrue(org.apache.derbyTesting.functionTests.tests.lang.SequenceTest)java.sql.SQLException:
Sequence 'ALPHA_SEQ' already exists.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
> 	at org.apache.derbyTesting.functionTests.tests.lang.SequenceTest.testCreateWithSchemaSpecifiedCreateTrue(Unknown
Source)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at sun.misc.CVM.runMain(Unknown Source)
> Caused by: ERROR X0Y68: Sequence 'ALPHA_SEQ' already exists.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.CreateSequenceConstantAction.executeConstantAction(Unknown
Source)
> 	at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> 	... 55 more
> 22) testCreateWithSchemaSpecified(org.apache.derbyTesting.functionTests.tests.lang.SequenceTest)java.sql.SQLException:
Sequence 'ALPHA_SEQ' already exists.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
> 	at org.apache.derbyTesting.functionTests.tests.lang.SequenceTest.testCreateWithSchemaSpecified(Unknown
Source)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at sun.misc.CVM.runMain(Unknown Source)
> Caused by: ERROR X0Y68: Sequence 'ALPHA_SEQ' already exists.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.CreateSequenceConstantAction.executeConstantAction(Unknown
Source)
> 	at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> 	... 55 more
> 23) testImplicitSchemaCreation(org.apache.derbyTesting.functionTests.tests.lang.SequenceTest)java.sql.SQLException:
Sequence 'ALPHA_SEQ' already exists.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
> 	at org.apache.derbyTesting.functionTests.tests.lang.SequenceTest.testImplicitSchemaCreation(Unknown
Source)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at sun.misc.CVM.runMain(Unknown Source)
> Caused by: ERROR X0Y68: Sequence 'ALPHA_SEQ' already exists.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.CreateSequenceConstantAction.executeConstantAction(Unknown
Source)
> 	at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> 	... 55 more
> 24) testDropSequence(org.apache.derbyTesting.functionTests.tests.lang.SequenceTest)java.sql.SQLException:
Sequence 'MYSEQ1' already exists.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(Unknown Source)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeUpdate(Unknown Source)
> 	at org.apache.derbyTesting.functionTests.tests.lang.SequenceTest.testDropSequence(Unknown
Source)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at org.apache.derbyTesting.junit.BaseTestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at junit.extensions.TestDecorator.basicRun(Unknown Source)
> 	at junit.extensions.TestSetup$1.protect(Unknown Source)
> 	at junit.extensions.TestSetup.run(Unknown Source)
> 	at sun.misc.CVM.runMain(Unknown Source)
> Caused by: ERROR X0Y68: Sequence 'MYSEQ1' already exists.
> 	at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
> 	at org.apache.derby.impl.sql.execute.CreateSequenceConstantAction.executeConstantAction(Unknown
Source)
> 	at org.apache.derby.impl.sql.execute.MiscResultSet.open(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source)
> 	... 55 more

-- 
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