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

Mike Matrigali updated DERBY-6774:
----------------------------------
    Attachment: derby-6774_diff.txt

patch for this issue.  It reenables the tests that were failing on some 
platforms, and adds tests that were failing consistently in my environment 
(laptop, windows 7, ibm17).  The fix was to insure that background threads 
waited on table intent lock before going to the conglomerate cache. 

Before doing this an inconsistent conglomerate would sometimes be faulted into 
the cache between time when alter table abort was invalidating the cache and 
abort had finished backing out the alter table.  Then a subsequent alter table 
would fail as it correctly passed in that there was 1 existing column, but the 
conglomerate cache thought there were 2 columns.

> org.apache.derbyTesting.functionTests.tests.lang.AlterTableTest.testAddIdentityColumn
>   failed with assert in nightlys
> ---------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-6774
>                 URL: https://issues.apache.org/jira/browse/DERBY-6774
>             Project: Derby
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 10.11.1.3
>            Reporter: Mike Matrigali
>            Assignee: Mike Matrigali
>         Attachments: derby-6774_diff.txt
>
>
> intermittent error in sane test runs in some nightly runs.
> java.sql.SQLException: DERBY SQL error: ERRORCODE: 0, SQLSTATE: XJ001, 
> SQLERRMC: org.apache.derby.shared.common.sanity.AssertFailureASSERT FAILED 
> Expected (column_id == format_ids.length)column_id = 1format_ids.length = 
> 2format_ids = [[email protected]
>       at 
> org.apache.derby.client.am.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:112)
>       at 
> org.apache.derby.client.am.SqlException.getSQLException(SqlException.java:321)
>       at 
> org.apache.derby.client.am.ClientStatement.execute(ClientStatement.java:990)
>       at 
> org.apache.derbyTesting.functionTests.tests.lang.AlterTableTest.testAddIdentityColumn(AlterTableTest.java:377)
>       at 
> org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:120)
>       at 
> org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:443)
>       at 
> org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:460)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at 
> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:58)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at 
> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:58)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at 
> org.apache.derbyTesting.junit.BaseTestSetup.run(BaseTestSetup.java:58)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
>       at junit.extensions.TestDecorator.basicRun(TestDecorator.java:24)
>       at junit.extensions.TestSetup$1.protect(TestSetup.java:21)
>       at junit.extensions.TestSetup.run(TestSetup.java:25)
> Caused by: ERROR XJ001: DERBY SQL error: ERRORCODE: 0, SQLSTATE: XJ001, 
> SQLERRMC: org.apache.derby.shared.common.sanity.AssertFailureASSERT FAILED 
> Expected (column_id == format_ids.length)column_id = 1format_ids.length = 
> 2format_ids = [[email protected]
>       at 
> org.apache.derby.client.am.ClientStatement.completeSqlca(ClientStatement.java:2109)
>       at 
> org.apache.derby.client.am.ClientStatement.completeExecuteImmediate(ClientStatement.java:1676)
>       at 
> org.apache.derby.client.net.NetStatementReply.parseEXCSQLIMMreply(NetStatementReply.java:209)
>       at 
> org.apache.derby.client.net.NetStatementReply.readExecuteImmediate(NetStatementReply.java:60)
>       at 
> org.apache.derby.client.net.StatementReply.readExecuteImmediate(StatementReply.java:47)
>       at 
> org.apache.derby.client.net.NetStatement.readExecuteImmediate_(NetStatement.java:142)
>       at 
> org.apache.derby.client.am.ClientStatement.readExecuteImmediate(ClientStatement.java:1672)
>       at 
> org.apache.derby.client.am.ClientStatement.flowExecute(ClientStatement.java:2401)
>       at 
> org.apache.derby.client.am.ClientStatement.executeX(ClientStatement.java:995)
>       at 
> org.apache.derby.client.am.ClientStatement.execute(ClientStatement.java:981)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to