Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
10.4.1.3
-
None
-
None
-
Normal
-
Data corruption
Description
A user is seeing an error like this when using the application client-server. The client just sees they have been disconnected and no further queries work. The server sees the following stack trace:
org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED No page at pagenumber: 9; ContainerHandle =
BaseContainerHandle:(Container(0, 1393))
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.store.access.btree.ControlRow.get(ControlRow.java:838)
at org.apache.derby.impl.store.access.btree.ControlRow.get(ControlRow.java:820)
at org.apache.derby.impl.store.access.btree.BranchControlRow.getChildPageAtSlot(BranchControlRow.java:1423)
at org.apache.derby.impl.store.access.btree.BranchControlRow.search(BranchControlRow.java:284)
at org.apache.derby.impl.store.access.btree.BTreeController.doIns(BTreeController.java:634)
at org.apache.derby.impl.store.access.btree.BTreeController.insert(BTreeController.java:1264)
at org.apache.derby.impl.store.access.btree.index.B2IController.insert(B2IController.java:210)
at org.apache.derby.impl.sql.execute.IndexChanger.insertAndCheckDups(IndexChanger.java:439)
at org.apache.derby.impl.sql.execute.IndexChanger.doInsert(IndexChanger.java:383)
at org.apache.derby.impl.sql.execute.IndexChanger.insert(IndexChanger.java:589)
at org.apache.derby.impl.sql.execute.IndexSetChanger.insert(IndexSetChanger.java:268)
at org.apache.derby.impl.sql.execute.RowChangerImpl.insertRow(RowChangerImpl.java:453)
at org.apache.derby.impl.sql.execute.InsertResultSet.normalInsertCore(InsertResultSet.java:1011)
at org.apache.derby.impl.sql.execute.InsertResultSet.open(InsertResultSet.java:487)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:372)
at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1235)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1307)
at org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:672)
at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(DRDAConnThread.java:4197)
at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(DRDAConnThread.java:4001)
at org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:991)
at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:278)
At first glance this appears to be identical to DERBY-3487 but apparently it's a new issue.
It would be good to know if any corruption has occurred or if the assertion has avoided that happening.