[ http://issues.apache.org/jira/browse/DERBY-1058?page=all ] Andreas Korneliussen reopened DERBY-1058: -----------------------------------------
Reopen to see if this could go to 10.1.3 branch. If this is taken to the 10.1.3 branch, I would suggest trying to take the first diff (DERBY-1087.diff) into the 10.1.3, unless junit testing has also been taken to the 10.1.3 branch (the other diffs only has additional junit tests). > derby fails supporting holdable scrollable resultset: ERROR XSCB8: The btree > conglomerate 1,141,037,436,752 is closed. > ---------------------------------------------------------------------------------------------------------------------- > > Key: DERBY-1058 > URL: http://issues.apache.org/jira/browse/DERBY-1058 > Project: Derby > Type: Bug > Components: SQL, Store > Versions: 10.1.2.1, 10.2.0.0 > Environment: All > Reporter: Andreas Korneliussen > Assignee: Andreas Korneliussen > Fix For: 10.2.0.0, 10.1.3.0 > Attachments: DERBY-1058.diff, DERBY-1058.stat, DERBY-1058v2.diff, > DERBY-1058v2.stat, DERBY-1058v3.diff, DERBY-1058v3.stat, > HoldabilityIssue.java, derbyall_report.txt > > If the ResultSet is so big that the scrollable resultset needs to back the > hashtable to disk, and the resultset is not fully populated before a commit(), > a call to next() will fail with: > [EMAIL PROTECTED]:/<3>db-derby-10.1.2.1-bin/lib> java -cp > /home/ak136785/devel/derbytesting/derbytest/build/classes/:./derby.jar > derbytest.HoldabilityIssue > ERROR XSCB8: The btree conglomerate 1,141,037,436,752 is closed. > at org.apache.derby.iapi.error.StandardException.newException(Unknown > Source) > at > org.apache.derby.impl.store.access.btree.BTreeController.insert(Unknown > Source) > at > org.apache.derby.impl.store.access.btree.index.B2IController.insert(Unknown > Source) > at org.apache.derby.iapi.store.access.DiskHashtable.put(Unknown > Source) > at > org.apache.derby.iapi.store.access.BackingStoreHashtable.spillToDisk(Unknown > Source) > at > org.apache.derby.iapi.store.access.BackingStoreHashtable.add_row_to_hash_table(Unknown > Source) > at > org.apache.derby.iapi.store.access.BackingStoreHashtable.put(Unknown Source) > at > org.apache.derby.impl.sql.execute.ScrollInsensitiveResultSet.addRowToHashTable(Unknown > Source) > at > org.apache.derby.impl.sql.execute.ScrollInsensitiveResultSet.getNextRowFromSource(Unknown > Source) > at > org.apache.derby.impl.sql.execute.ScrollInsensitiveResultSet.getNextRowCore(Unknown > Source) > at > org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.getNextRow(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedResultSet.movePosition(Unknown > Source) > at org.apache.derby.impl.jdbc.EmbedResultSet.next(Unknown Source) > at derbytest.HoldabilityIssue.runTest1(HoldabilityIssue.java:72) > at derbytest.HoldabilityIssue.main(HoldabilityIssue.java:91) > [EMAIL PROTECTED]:/<3>db-derby-10.1.2.1-bin/lib> > The BtreeController is always initialized as non-holdable, and if this is > changed, Derby has the following assert in closeForEndTransaction(..): > SanityManager.THROWASSERT("There is currently no requirement for a held > btree conglomerate controller."); > A simple test program is attached which reproduces this failure. It fails in > the trunk and on the 10.1.2.1 release -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://issues.apache.org/jira/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira