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-5428) ns test error: ERROR 38000: The exception 'org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED Identity being changed on a live cacheable. Old uuidString = 846c00a0-0132-88d8-fec0-000000080920' was thrown while evaluating an expression
Date Fri, 23 Sep 2011 13:36:33 GMT

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

Rick Hillegas commented on DERBY-5428:
--------------------------------------

This may be another example of the harmless, but confused state of the SequenceUpdater which
was fixed by the work on DERBY-5389. That work was committed to the 10.8 branch at revision
1172620 after the 10.8.2.1 candidate was built (at revision 1170221). The stack trace is different
because SequenceUpdater.setIdentity() is being called to generate an identity rather than
a sequence.

Other than the problem fixed by DERBY-5389, I don't see any other ways that the internal state
of the SequenceUpdater could be confused in this fashion. However, I can't promise that there
isn't another code path which I'm not clever enough to see.

It might be useful to see if you can reproduce this problem against the current head of the
10.8 branch. Thanks.

> ns test error: ERROR 38000:  The exception 'org.apache.derby.shared.common.sanity.AssertFailure:
ASSERT FAILED Identity being changed on a live cacheable. Old uuidString = 846c00a0-0132-88d8-fec0-000000080920'
was thrown while evaluating an expression
> -----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: DERBY-5428
>                 URL: https://issues.apache.org/jira/browse/DERBY-5428
>             Project: Derby
>          Issue Type: Bug
>    Affects Versions: 10.8.2.1
>         Environment: Windows XP, ibm 16 sr 9 fp1, with modified derbyTesting.jar (ps2.close
& print exception reversed as suggested in DERBY-5421)
>            Reporter: Myrna van Lunteren
>
> In an attempt to reproduce DERBY-5421/ DERBY-5422/ DERBY-5423  and get more information,
I ran the nstest (embedded on another Windows machine, with the same jvm version, but with
the following setup:
> - sane jars from the 10.8.2.1 RC2 (rev 1170221) 
> - derbyTesting.jar built (sane) at the same level, but with modifications to put ps2.close()
in Dbutil after the exception print
> - the following details in a derby.properties file:
>   derby.language.logStatementText=true
>   derby.stream.error.logSeverityLevel=0
>   derby.language.sequence.preallocator=200
> This time, so far, I only see the following unexpected error:
> (in derby.log:)  ERROR 38000: The exception 'org.apache.derby.shared.common.sanity.AssertFailure:
ASSERT FAILED Identity being changed on a live cacheable. Old uuidString = 846c00a0-0132-88d8-fec0-000000080920'
was thrown while evaluating an expression
> This looks like DERBY-5389, but it has a different stack trace and happens with ibm 1.6:
> ------------------------------------------------------------------
> Tue Sep 20 15:04:06 PDT 2011 Thread[Thread 3,5,main] (XID = 58789), (SESSIONID = 22),
(DATABASE = nstestdb), (DRDAID = null), Begin compiling prepared statement:  update nstesttab
set t_double = ?  where serialkey = 36027 :End prepared statement
> --
> ERROR 38000: The exception 'org.apache.derby.shared.common.sanity.AssertFailure: ASSERT
FAILED Identity being changed on a live cacheable. Old uuidString = 846c00a0-0132-88d8-fec0-000000080920'
was thrown while evaluating an expression.
> 	at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:296)
> 	at org.apache.derby.iapi.error.StandardException.unexpectedUserException(StandardException.java:583)
> 	at org.apache.derby.impl.services.reflect.DirectCall.invoke(ReflectGeneratedClass.java:164)
> 	at org.apache.derby.impl.sql.execute.RowResultSet.getNextRowCore(RowResultSet.java:148)
> 	at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(NormalizeResultSet.java:185)
> 	at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:515)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:436)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:317)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1242)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1686)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:308)
> 	at org.apache.derbyTesting.system.nstest.utils.DbUtil.add_one_row(DbUtil.java:201)
> 	at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:148)
> 	at org.apache.derbyTesting.system.nstest.tester.Tester1.startTesting(Tester1.java:118)
> 	at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:551)
> Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED Identity
being changed on a live cacheable. Old uuidString = 846c00a0-0132-88d8-fec0-000000080920
> 	at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
> 	at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
> 	at org.apache.derby.impl.sql.catalog.SequenceUpdater.setIdentity(SequenceUpdater.java:272)
> 	at org.apache.derby.impl.services.cache.ConcurrentCache.find(ConcurrentCache.java:295)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getCurrentValueAndAdvance(DataDictionaryImpl.java:10352)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.getSetAutoincrementValue(InsertResultSet.java:824)
> 	at org.apache.derby.impl.sql.execute.BaseActivation.getSetAutoincrementValue(BaseActivation.java:666)
> 	at org.apache.derby.exe.ac092d4de3x0132x88d8xfec0x0000000809207.e0(Unknown Source)
> 	at org.apache.derby.impl.services.reflect.DirectCall.invoke(ReflectGeneratedClass.java:139)
> 	... 13 more
> ============= begin nested exception, level (1) ===========
> org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED Identity being changed
on a live cacheable. Old uuidString = 846c00a0-0132-88d8-fec0-000000080920
> 	at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:162)
> 	at org.apache.derby.shared.common.sanity.SanityManager.THROWASSERT(SanityManager.java:147)
> 	at org.apache.derby.impl.sql.catalog.SequenceUpdater.setIdentity(SequenceUpdater.java:272)
> 	at org.apache.derby.impl.services.cache.ConcurrentCache.find(ConcurrentCache.java:295)
> 	at org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getCurrentValueAndAdvance(DataDictionaryImpl.java:10352)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.getSetAutoincrementValue(InsertResultSet.java:824)
> 	at org.apache.derby.impl.sql.execute.BaseActivation.getSetAutoincrementValue(BaseActivation.java:666)
> 	at org.apache.derby.exe.ac092d4de3x0132x88d8xfec0x0000000809207.e0(Unknown Source)
> 	at org.apache.derby.impl.services.reflect.DirectCall.invoke(ReflectGeneratedClass.java:139)
> 	at org.apache.derby.impl.sql.execute.RowResultSet.getNextRowCore(RowResultSet.java:148)
> 	at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(NormalizeResultSet.java:185)
> 	at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127)
> 	at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:515)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:436)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:317)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1242)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1686)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:308)
> 	at org.apache.derbyTesting.system.nstest.utils.DbUtil.add_one_row(DbUtil.java:201)
> 	at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:148)
> 	at org.apache.derbyTesting.system.nstest.tester.Tester1.startTesting(Tester1.java:118)
> --
> 	at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:286)
> 	at org.apache.derby.iapi.types.SQLDecimal.setWidth(SQLDecimal.java:1063)
> 	at org.apache.derby.iapi.types.SQLDecimal.normalize(SQLDecimal.java:759)
> 	at org.apache.derby.iapi.types.DataTypeDescriptor.normalize(DataTypeDescriptor.java:648)
> 	at org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeColumn(NormalizeResultSet.java:329)
> 	at org.apache.derby.impl.sql.execute.NormalizeResultSet.normalizeRow(NormalizeResultSet.java:373)
> 	at org.apache.derby.impl.sql.execute.NormalizeResultSet.getNextRowCore(NormalizeResultSet.java:188)
> 	at org.apache.derby.impl.sql.execute.DMLWriteResultSet.getNextRowCore(DMLWriteResultSet.java:127)
> 	at org.apache.derby.impl.sql.execute.UpdateResultSet.collectAffectedRows(UpdateResultSet.java:440)
> 	at org.apache.derby.impl.sql.execute.UpdateResultSet.open(UpdateResultSet.java:264)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:436)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:317)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1242)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1686)
> 	at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeUpdate(EmbedPreparedStatement.java:308)
> 	at org.apache.derbyTesting.system.nstest.utils.DbUtil.update_one_row(DbUtil.java:382)
> 	at org.apache.derbyTesting.system.nstest.tester.TesterObject.doIUDOperation(TesterObject.java:162)
> 	at org.apache.derbyTesting.system.nstest.tester.Tester1.startTesting(Tester1.java:118)
> 	at org.apache.derbyTesting.system.nstest.NsTest.run(NsTest.java:551)

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Mime
View raw message