You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Knut Anders Hatlen (JIRA)" <ji...@apache.org> on 2014/09/10 17:37:33 UTC

[jira] [Commented] (DERBY-6734) Error in DBInJarTest.testSpillHashToDisk

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

Knut Anders Hatlen commented on DERBY-6734:
-------------------------------------------

The same assert was reported in DERBY-6153 in a different test. Common for these two incidents is that the assert happens after some other exception has been raised when trying to write data to disk, and BaseDataFileFactory.markCorrupt() is called to take the database down. The original exception is unfortunately lost.

In DERBY-6153 the original exception was suspected to be an IOException that reported that the disk was full, since a later test failed with such an exception.

> Error in DBInJarTest.testSpillHashToDisk
> ----------------------------------------
>
>                 Key: DERBY-6734
>                 URL: https://issues.apache.org/jira/browse/DERBY-6734
>             Project: Derby
>          Issue Type: Bug
>          Components: Test
>            Reporter: Rick Hillegas
>
> The following error turned up in the nightly tests on the 10.12 trunk on Windows_amd64_jdk8. See http://download.java.net/javadesktop/derby/request_5595773/
> {noformat}
>     java.sql.SQLException: Java exception: 'ASSERT FAILED: org.apache.derby.shared.common.sanity.AssertFailure'.
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:107)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:133)
> 	at org.apache.derby.impl.jdbc.Util.seeNextException(Util.java:255)
> 	at org.apache.derby.impl.jdbc.Util.javaException(Util.java:277)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(TransactionResourceImpl.java:437)
> 	at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(TransactionResourceImpl.java:353)
> 	at org.apache.derby.impl.jdbc.EmbedConnection.handleException(EmbedConnection.java:2396)
> 	at org.apache.derby.impl.jdbc.ConnectionChild.handleException(ConnectionChild.java:82)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1430)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.execute(EmbedStatement.java:704)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeQuery(EmbedStatement.java:147)
> 	at org.apache.derbyTesting.functionTests.tests.lang.DBInJarTest.testSpillHashToDisk(DBInJarTest.java:165)
> 	at org.apache.derbyTesting.junit.BaseTestCase.runBare(BaseTestCase.java:119)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBareOverridable(BaseJDBCTestCase.java:440)
> 	at org.apache.derbyTesting.junit.BaseJDBCTestCase.runBare(BaseJDBCTestCase.java:457)
> 	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)
> Caused by: ERROR XJ001: Java exception: 'ASSERT FAILED: org.apache.derby.shared.common.sanity.AssertFailure'.
> 	at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.wrapArgsForTransportAcrossDRDA(SQLExceptionFactory.java:162)
> 	at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(SQLExceptionFactory.java:74)
> Caused by: org.apache.derby.shared.common.sanity.AssertFailure: ASSERT FAILED
> 	at org.apache.derby.shared.common.sanity.SanityManager.ASSERT(SanityManager.java:98)
> 	at org.apache.derby.impl.services.cache.CacheEntry.lock(CacheEntry.java:115)
> 	at org.apache.derby.impl.services.cache.ConcurrentCache.discard(ConcurrentCache.java:636)
> 	at org.apache.derby.impl.store.raw.data.BaseDataFileFactory.markCorrupt(BaseDataFileFactory.java:1333)
> 	at org.apache.derby.impl.store.raw.data.CachedPage.clean(CachedPage.java:624)
> 	at org.apache.derby.impl.services.cache.ConcurrentCache.cleanAndUnkeepEntry(ConcurrentCache.java:551)
> 	at org.apache.derby.impl.services.cache.ClockPolicy.rotateClock(ClockPolicy.java:476)
> 	at org.apache.derby.impl.services.cache.ClockPolicy.insertEntry(ClockPolicy.java:176)
> 	at org.apache.derby.impl.services.cache.ConcurrentCache.insertIntoFreeSlot(ConcurrentCache.java:208)
> 	at org.apache.derby.impl.services.cache.ConcurrentCache.create(ConcurrentCache.java:378)
> 	at org.apache.derby.impl.store.raw.data.FileContainer.initPage(FileContainer.java:2449)
> 	at org.apache.derby.impl.store.raw.data.FileContainer.newPage(FileContainer.java:1878)
> 	at org.apache.derby.impl.store.raw.data.TempRAFContainer.addPage(TempRAFContainer.java:156)
> 	at org.apache.derby.impl.store.raw.data.BaseContainerHandle.addPage(BaseContainerHandle.java:183)
> 	at org.apache.derby.impl.store.access.btree.LeafControlRow.allocate(LeafControlRow.java:123)
> 	at org.apache.derby.impl.store.access.btree.LeafControlRow.splitFor(LeafControlRow.java:634)
> 	at org.apache.derby.impl.store.access.btree.BranchControlRow.splitFor(BranchControlRow.java:906)
> 	at org.apache.derby.impl.store.access.btree.BranchControlRow.splitFor(BranchControlRow.java:906)
> 	at org.apache.derby.impl.store.access.btree.BTreeController.start_xact_and_dosplit(BTreeController.java:369)
> 	at org.apache.derby.impl.store.access.btree.BTreeController.doIns(BTreeController.java:1013)
> 	at org.apache.derby.impl.store.access.btree.BTreeController.insert(BTreeController.java:1372)
> 	at org.apache.derby.impl.store.access.btree.index.B2IController.insert(B2IController.java:210)
> 	at org.apache.derby.iapi.store.access.DiskHashtable.put(DiskHashtable.java:227)
> 	at org.apache.derby.iapi.store.access.BackingStoreHashtable.spillToDisk(BackingStoreHashtable.java:620)
> 	at org.apache.derby.iapi.store.access.BackingStoreHashtable.add_row_to_hash_table(BackingStoreHashtable.java:471)
> 	at org.apache.derby.iapi.store.access.BackingStoreHashtable.putRow(BackingStoreHashtable.java:1048)
> 	at org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchRows(GenericScanController.java:808)
> 	at org.apache.derby.impl.store.access.conglomerate.GenericScanController.fetchSet(GenericScanController.java:1278)
> 	at org.apache.derby.impl.store.access.BackingStoreHashTableFromScan.<init>(BackingStoreHashTableFromScan.java:120)
> 	at org.apache.derby.impl.store.access.RAMTransaction.createBackingStoreHashtableFromScan(RAMTransaction.java:1337)
> 	at org.apache.derby.impl.sql.execute.HashScanResultSet.openCore(HashScanResultSet.java:259)
> 	at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(BasicNoPutResultSetImpl.java:266)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(GenericPreparedStatement.java:470)
> 	at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:349)
> 	at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1338)
> {noformat}



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