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

ASF subversion and git services commented on DERBY-6774:
--------------------------------------------------------

Commit 1645055 from [email protected] in branch 'code/trunk'
[ https://svn.apache.org/r1645055 ]

DERBY-6774 background post commit threads cause ASSERTS/errors on interaction 
with alter table add column

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

> background post commit threads cause ASSERTS/errors on interaction with alter 
> table add column
> ----------------------------------------------------------------------------------------------
>
>                 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