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 "Sai Pullabhotla (JIRA)" <ji...@apache.org> on 2009/06/16 15:51:08 UTC
[jira] Created: (DERBY-4275) Query executions fail when compressing
a table using SYSCS_UTIL.SYSCS_COMPRESS_ TABLE
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
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.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (DERBY-4275) Query executions fail when
compressing a table using SYSCS_UTIL.SYSCS_COMPRESS_ TABLE
Posted by "Dag H. Wanvik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-4275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12727024#action_12727024 ]
Dag H. Wanvik commented on DERBY-4275:
--------------------------------------
Thanks for the repro, Sai! I was able to reproduce with Derby 10.4.1.3.
> 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
> Attachments: CompressDBTest1.java, CompressDBTest2.java
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DERBY-4275) Query executions fail when compressing
a table using SYSCS_UTIL.SYSCS_COMPRESS_ TABLE
Posted by "Sai Pullabhotla (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-4275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Sai Pullabhotla updated DERBY-4275:
-----------------------------------
Attachment: CompressDBTest2.java
CompressDBTest1.java
The attached files can be used to reproduce this reported bug.
CompressDBTest1.java - tries to read a table while it is being compressed. The select statement errors out with the following error:
java.sql.SQLException: Container 2,192 not found.
Subsequent SELECTs with a brand new connection also fail with a little bit different error:
The conglomerate (2,192) requested does not exist.
CompressDBTest2.java - tries to insert data into a table while it is being compressed. The insert errors out eventually with the following error:
A lock could not be obtained due to a deadlock, cycle of locks and waiters is:
Lock : TABLE, TEST, Tablelock
Waiting XID : {236439, IX} , APP, insert into test values(?, ?, ?, ?, ?)
Granted XID : {234342, X}
Lock : ROW, SYSCONGLOMERATES, (5,14)
Waiting XID : {234342, X} , APP, alter table "APP"."TEST" compress sequential
Granted XID : {234342, S} , {236439, S}
. The selected victim is XID : 236439.
What the test classes do:
Both classes first create a database named test under the current working directory if a directory named test does not already exist. Then a table named test is created and populated with 100,000 random records. Two threads are started then with the first one repeatedly compressing the test table and the second one repeatedly executing a DML statement. If the DML statement errors out, the compression thread will be stopped. Finally the database is shutdown. The standard output of the program goes to stdout.log and standard error goes to stderr.log in the current working directory.
> 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
> Attachments: CompressDBTest1.java, CompressDBTest2.java
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (DERBY-4275) Query executions fail when
compressing a table using SYSCS_UTIL.SYSCS_COMPRESS_ TABLE
Posted by "Knut Anders Hatlen (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-4275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844012#action_12844012 ]
Knut Anders Hatlen commented on DERBY-4275:
-------------------------------------------
Some of the discussion on DERBY-637 may be relevant for this issue as well.
> 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
> Attachments: CompressDBTest1.java, CompressDBTest2.java
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DERBY-4275) Query executions fail when compressing
a table using SYSCS_UTIL.SYSCS_COMPRESS_ TABLE
Posted by "Kathey Marsden (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-4275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kathey Marsden updated DERBY-4275:
----------------------------------
Derby Categories: [Crash, High Value Fix] (was: [Crash])
> 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
> Attachments: CompressDBTest1.java, CompressDBTest2.java
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DERBY-4275) Query executions fail when compressing
a table using SYSCS_UTIL.SYSCS_COMPRESS_ TABLE
Posted by "Dag H. Wanvik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-4275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Dag H. Wanvik updated DERBY-4275:
---------------------------------
Issue & fix info: [High Value Fix, Repro attached] (was: [High Value Fix])
Triaged for 10.5.2, checking "repro attached".
> 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
> Attachments: CompressDBTest1.java, CompressDBTest2.java
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (DERBY-4275) Query executions fail when
compressing a table using SYSCS_UTIL.SYSCS_COMPRESS_ TABLE
Posted by "Brett Wooldridge (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-4275?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12844036#action_12844036 ]
Brett Wooldridge commented on DERBY-4275:
-----------------------------------------
Throwing my vote in for this bug. We were planning on enabling online compression, statistics regeneration, and backup in an upcoming release of our software.
> 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
> Attachments: CompressDBTest1.java, CompressDBTest2.java
>
>
> 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.
-
You can reply to this email to add a comment to the issue online.