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 "Dag H. Wanvik (JIRA)" <ji...@apache.org> on 2011/07/27 22:10:09 UTC

[jira] [Commented] (DERBY-4275) Query executions fail when compressing a table using SYSCS_UTIL.SYSCS_COMPRESS_TABLE

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

Dag H. Wanvik commented on DERBY-4275:
--------------------------------------

Interesting find. Sounds like reintroducing a (better) fix for DERBY-5161 might be a useful first step.. The cleanup/context  popping machinery is complex, though, so I'm just guessing. Thanks for digging into this.

> Query executions fail when compressing a table using SYSCS_UTIL.SYSCS_COMPRESS_TABLE
> ------------------------------------------------------------------------------------
>
>                 Key: DERBY-4275
>                 URL: https://issues.apache.org/jira/browse/DERBY-4275
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.4.1.3
>            Reporter: Sai Pullabhotla
>            Assignee: Knut Anders Hatlen
>              Labels: derby_triage10_5_2
>             Fix For: 10.8.1.6, 10.9.0.0
>
>         Attachments: CompressDBTest1.java, CompressDBTest2.java, D4275.java, d4275-1a.diff, invalidate-after.diff, invalidation-during-compilation.diff
>
>
> Query executions (SELECT and/or UPDATE) fail with serious exceptions while the table is being compressed using SYSCS_UTIL.SYSCS_COMPRESS_ TABLE. The compression eventually finishes normally, but the queries keep failing with the same error until the database is rebooted. More information about this can be found on the Derby mailing list at http://www.nabble.com/Issue-with-SYSCS_UTIL.SYSCS_COMPRESS_-TABLE-td23892893.html. The exception stacktrace is below: 
> Caused by: java.sql.SQLException: The conglomerate (71,409) requested does not exist.
>             at org.apache.derby.impl.jdbc.SQLExceptionFactory.getSQLException(Unknown Source)
>             at org.apache.derby.impl.jdbc.Util.generateCsSQLException(Unknown Source)
>             at org.apache.derby.impl.jdbc.TransactionResourceImpl.wrapInSQLException(Unknown Source)
>             at org.apache.derby.impl.jdbc.TransactionResourceImpl.handleException(Unknown Source)
>             at org.apache.derby.impl.jdbc.EmbedConnection.handleException(Unknown Source)
>             at org.apache.derby.impl.jdbc.ConnectionChild.handleException(Unknown Source)
>             at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(Unknown Source)
>             at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(Unknown Source)
>             at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeQuery(Unknown Source)
>             at org.apache.tomcat.dbcp.dbcp.DelegatingPreparedStatement.executeQuery(DelegatingPreparedStatement.java:93)
>             ... 25 more
>         Caused by: ERROR XSAI2: The conglomerate (71,409) requested does not exist.
>             at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
>             at org.apache.derby.impl.store.access.btree.index.B2IFactory.readConglomerate(Unknown Source)
>             at org.apache.derby.impl.store.access.RAMAccessManager.conglomCacheFind(Unknown Source)
>             at org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerate(Unknown Source)
>             at org.apache.derby.impl.store.access.RAMTransaction.openScan(Unknown Source)
>             at org.apache.derby.impl.store.access.BackingStoreHashTableFromScan.<init>(Unknown Source)
>             at org.apache.derby.impl.store.access.RAMTransaction.createBackingStoreHashtableFromScan(Unknown Source)
>             at org.apache.derby.impl.sql.execute.HashScanResultSet.openCore(Unknown Source)
>             at org.apache.derby.impl.sql.execute.JoinResultSet.openRight(Unknown Source)
>             at org.apache.derby.impl.sql.execute.JoinResultSet.openCore(Unknown Source)
>             at org.apache.derby.impl.sql.execute.JoinResultSet.openCore(Unknown Source)
>             at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(Unknown Source)
>             at org.apache.derby.impl.sql.execute.UnionResultSet.getNextRowCore(Unknown Source)
>             at org.apache.derby.impl.sql.execute.SortResultSet.getRowFromResultSet(Unknown Source)
>             at org.apache.derby.impl.sql.execute.SortResultSet.getNextRowFromRS(Unknown Source)
>             at org.apache.derby.impl.sql.execute.SortResultSet.loadSorter(Unknown Source)
>             at org.apache.derby.impl.sql.execute.SortResultSet.openCore(Unknown Source)
>             at org.apache.derby.impl.sql.execute.SortResultSet.openCore(Unknown Source)
>             at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(Unknown Source)
>             at org.apache.derby.impl.sql.GenericPreparedStatement.execute(Unknown Source) 

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