Details
-
Bug
-
Status: Closed
-
Major
-
Resolution: Cannot Reproduce
-
10.5.3.2
-
None
-
Derby version: 10.5.3.2 - (1073208)
ava.vendor=IBM Corporation
java.runtime.version=pwi32devifx-20110209 (SR11 FP2 +IZ94331)
java.fullversion=J2RE 1.5.0 IBM J9 2.3 Windows Server 2003 x86-32 j9vmwi3223ifx-20100511 (JIT enabled)
J9VM - 20100509_57823_lHdSMr
JIT - 20091016_1845ifx7_r8
GC - 20091026_AA
Derby version: 10.5.3.2 - (1073208) ava.vendor=IBM Corporation java.runtime.version=pwi32devifx-20110209 (SR11 FP2 +IZ94331) java.fullversion=J2RE 1.5.0 IBM J9 2.3 Windows Server 2003 x86-32 j9vmwi3223ifx-20100511 (JIT enabled) J9VM - 20100509_57823_lHdSMr JIT - 20091016_1845ifx7_r8 GC - 20091026_AA
-
Normal
Description
I do not have a lot of information on this issue but want to get it filed in case someone sees something in the code that could cause this problem..
After the user started doing regular compress
The report was on an error:
java.sql.SQLException: The conglomerate (136048) requested does not exist.
at org.apache.derby.client.am.SQLExceptionFactory.getSQLException(Unknown Source)
at org.apache.derby.client.am.SqlException.getSQLException(Unknown Source)
at org.apache.derby.client.am.PreparedStatement.execute(Unknown Source)
at com.ibm.team.repository.service.internal.db.jdbcwrappers.stat.PreparedStatementStatWrapper.execute(PreparedStatementStatWrapper.java:51)
ERROR XSAI2: The conglomerate (136,048) requested does not exist.
at org.apache.derby.iapi.error.StandardException.newException(Unknown Source)
at org.apache.derby.impl.store.access.heap.HeapConglomerateFactory.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.getDynamicCompiledConglomInfo(Unknown Source)
at org.apache.derby.impl.sql.execute.DMLWriteResultSet.<init>(Unknown Source)
at org.apache.derby.impl.sql.execute.DeleteResultSet.<init>(Unknown Source)
at org.apache.derby.impl.sql.execute.DeleteResultSet.<init>(Unknown Source)
at org.apache.derby.impl.sql.execute.GenericResultSetFactory.getDeleteResultSet(Unknown Source)
at org.apache.derby.exe.acfb160050x0134xa4edxddadx000001381ca0102.fillResultSet(Unknown Source)
at org.apache.derby.exe.acfb160050x0134xa4edxddadx000001381ca0102.execute(Unknown Source)
at org.apache.derby.impl.sql.GenericActivationHolder.execute(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.executeSubStatement(Unknown Source)
at org.apache.derby.impl.sql.execute.GenericTriggerExecutor.executeSPS(Unknown Source)
at org.apache.derby.impl.sql.execute.RowTriggerExecutor.fireTrigger(Unknown Source)
at org.apache.derby.impl.sql.execute.TriggerEventActivator.notifyEvent(Unknown Source)
at org.apache.derby.impl.sql.execute.UpdateResultSet.fireAfterTriggers(Unknown Source)
at org.apache.derby.impl.sql.execute.UpdateResultSet.open(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.executeStmt(Unknown Source)
at org.apache.derby.impl.sql.GenericPreparedStatement.execute(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.execute(Unknown Source)
at org.apache.derby.impl.drda.DRDAStatement.execute(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTTobjects(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.parseEXCSQLSTT(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.processCommands(Unknown Source)
at org.apache.derby.impl.drda.DRDAConnThread.run(Unknown Source)
The problem statement was tracked to a trigger that had a invalid conglomerate in its stored plan. Dropping and recreating the triggers resolved the immediate symptoms at the user site. The root cause is thought to be related to some sort of problem with compress that the trigger stored prepared statements did not get invalidated.
FYI: There was a prior runtime error (not sure if it was during compress or not). I tend to think this one may related to s JVM JIT issue.
java.sql.SQLException: The heap container with container id Container(-1, 1320304910265) is closed.
I don't have a stack trace for that one, but wonder if compress fails, is it possible that the compression could take place but we don't invalidate the statements.