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

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

The problem with stale statements after SYSCS_COMPRESS_TABLE is reported as 
DERBY-4275, which has a repro attached. The discussion about the compress table 
issue is therefore better continued on DERBY-4275.

I believe the compress table issue is different from what Øystein reported 
because

1) Øystein did not compress the table

2) The error reported here happens while preparing a statement, whereas the 
compress table issue happens during execution of a stale prepared statement

Since the issue reported here has not been possible to reproduce after it was 
reported 4.5 years ago, I'll close it as not reproducible. If someone manages 
to reproduce the error, we can always reopen the issue later.

> Conglomerate does not exist after inserting large data  volume
> --------------------------------------------------------------
>
>                 Key: DERBY-637
>                 URL: https://issues.apache.org/jira/browse/DERBY-637
>             Project: Derby
>          Issue Type: Bug
>          Components: Store
>    Affects Versions: 10.2.1.6
>         Environment: Solaris 10 Sparc
> Sun 1.5 VM
> Client/server DB
> 1 GB page cache
> JVM heap on server: min 1 GB, max 3 GB 
>            Reporter: Øystein Grøvlen
>         Attachments: noContainerBug.java
>
>
> In a client/server environment I did as follows:
> 1. Started server
> 2. Dropped existing TPC-B tables and created new ones
> 3. Inserted data for 200 million accounts (30 GB account table)
> 4. When insertion was finished, tried to run a TPC-B transaction on same 
> connection and was informed that conglomerate does not exist.  (See stack 
> trace below).
> 5. Stopped client, started a new client to run a TPC-B transaction, got same 
> error
> 6. Restarted server
> 7. Ran client again, and everything worked fine.
> Stack trace from derby.log:
> 2005-10-19 18:47:41.838 GMT Thread[DRDAConnThread_3,5,main] (XID = 75504654), 
> (SESSIONID = 0), (DATABASE = /export/home3/tmp/oysteing/tpcbdb), (DRDAID = 
> NF000001.OB77-578992897558106193{1}), Cleanup action starting
> 2005-10-19 18:47:41.839 GMT Thread[DRDAConnThread_3,5,main] (XID = 75504654), 
> (SESSIONID = 0), (DATABASE = /export/home3/tmp/oysteing/tpcbdb), (DRDAID = 
> NF000001.OB77-578992897558106193{1}), Failed Statement is: UPDATE accounts 
> SET abal = abal + ? WHERE aid = ? AND bid = ?
> ERROR XSAI2: The conglomerate (8,048) requested does not exist.
>       at 
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:311)
>       at 
> org.apache.derby.impl.store.access.heap.HeapConglomerateFactory.readConglomerate(HeapConglomerateFactory.java:224)
>       at 
> org.apache.derby.impl.store.access.RAMAccessManager.conglomCacheFind(RAMAccessManager.java:486)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerate(RAMTransaction.java:389)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(RAMTransaction.java:1315)
>       at 
> org.apache.derby.impl.store.access.btree.index.B2IForwardScan.init(B2IForwardScan.java:237)
>       at 
> org.apache.derby.impl.store.access.btree.index.B2I.openScan(B2I.java:750)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>       at 
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getDescriptorViaIndex(DataDictionaryImpl.java:7218)
>       at 
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getAliasDescriptor(DataDictionaryImpl.java:5697)
>       at 
> org.apache.derby.impl.sql.compile.QueryTreeNode.resolveTableToSynonym(QueryTreeNode.java:1510)
>       at 
> org.apache.derby.impl.sql.compile.UpdateNode.bind(UpdateNode.java:207)
>       at 
> org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:333)
>       at 
> org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:107)
>       at 
> org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:704)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(EmbedPreparedStatement.java:118)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement20.<init>(EmbedPreparedStatement20.java:82)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement30.<init>(EmbedPreparedStatement30.java:62)
>       at 
> org.apache.derby.jdbc.Driver30.newEmbedPreparedStatement(Driver30.java:92)
>       at 
> org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java:678)
>       at 
> org.apache.derby.impl.jdbc.EmbedConnection.prepareStatement(EmbedConnection.java:575)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:585)
>       at 
> org.apache.derby.impl.drda.DRDAStatement.prepareStatementJDBC3(DRDAStatement.java:1497)
>       at 
> org.apache.derby.impl.drda.DRDAStatement.prepare(DRDAStatement.java:486)
>       at 
> org.apache.derby.impl.drda.DRDAStatement.explicitPrepare(DRDAStatement.java:444)
>       at 
> org.apache.derby.impl.drda.DRDAConnThread.parsePRPSQLSTT(DRDAConnThread.java:3132)
>       at 
> org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:673)
>       at 
> org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:214)
> Cleanup action completed
> 2005-10-19 18:47:41.983 GMT Thread[DRDAConnThread_3,5,main] (XID = 75504654), 
> (SESSIONID = 0), (DATABASE = /export/home3/tmp/oysteing/tpcbdb), (DRDAID = 
> NF000001.OB77-578992897558106193{1}), Cleanup action starting
> 2005-10-19 18:47:41.983 GMT Thread[DRDAConnThread_3,5,main] (XID = 75504654), 
> (SESSIONID = 0), (DATABASE = /export/home3/tmp/oysteing/tpcbdb), (DRDAID = 
> NF000001.OB77-578992897558106193{1}), Failed Statement is: call 
> SYSIBM.SQLCAMESSAGE(?,?,?,?,?,?,?,?,?,?,?,?,?,?,?,?)
> ERROR XSAI2: The conglomerate (8,048) requested does not exist.
>       at 
> org.apache.derby.iapi.error.StandardException.newException(StandardException.java:311)
>       at 
> org.apache.derby.impl.store.access.heap.HeapConglomerateFactory.readConglomerate(HeapConglomerateFactory.java:224)
>       at 
> org.apache.derby.impl.store.access.RAMAccessManager.conglomCacheFind(RAMAccessManager.java:486)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerate(RAMTransaction.java:389)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.openConglomerate(RAMTransaction.java:1315)
>       at 
> org.apache.derby.impl.store.access.btree.index.B2IForwardScan.init(B2IForwardScan.java:237)
>       at 
> org.apache.derby.impl.store.access.btree.index.B2I.openScan(B2I.java:750)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:530)
>       at 
> org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:1582)
>       at 
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getDescriptorViaIndex(DataDictionaryImpl.java:7218)
>       at 
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getAliasDescriptor(DataDictionaryImpl.java:5697)
>       at 
> org.apache.derby.impl.sql.catalog.DataDictionaryImpl.getRoutineList(DataDictionaryImpl.java:5766)
>       at 
> org.apache.derby.impl.sql.compile.StaticMethodCallNode.resolveRoutine(StaticMethodCallNode.java:303)
>       at 
> org.apache.derby.impl.sql.compile.StaticMethodCallNode.bindExpression(StaticMethodCallNode.java:192)
>       at 
> org.apache.derby.impl.sql.compile.JavaToSQLValueNode.bindExpression(JavaToSQLValueNode.java:250)
>       at 
> org.apache.derby.impl.sql.compile.CallStatementNode.bind(CallStatementNode.java:177)
>       at 
> org.apache.derby.impl.sql.GenericStatement.prepMinion(GenericStatement.java:333)
>       at 
> org.apache.derby.impl.sql.GenericStatement.prepare(GenericStatement.java:107)
>       at 
> org.apache.derby.impl.sql.conn.GenericLanguageConnectionContext.prepareInternalStatement(GenericLanguageConnectionContext.java:704)
>       at 
> org.apache.derby.impl.jdbc.EmbedPreparedStatement.<init>(EmbedPreparedStatement.java:118)
>       at 
> org.apache.derby.impl.jdbc.EmbedCallableStatement.<init>(EmbedCallableStatement.java:68)
>       at 
> org.apache.derby.impl.jdbc.EmbedCallableStatement20.<init>(EmbedCallableStatement20.java:78)
>       at 
> org.apache.derby.impl.jdbc.EmbedCallableStatement30.<init>(EmbedCallableStatement30.java:60)
>       at 
> org.apache.derby.jdbc.Driver30.newEmbedCallableStatement(Driver30.java:115)
>       at 
> org.apache.derby.impl.jdbc.EmbedConnection.prepareCall(EmbedConnection.java:771)
>       at 
> org.apache.derby.impl.jdbc.EmbedConnection.prepareCall(EmbedConnection.java:719)
>       at 
> org.apache.derby.impl.drda.DRDAStatement.prepare(DRDAStatement.java:475)
>       at 
> org.apache.derby.impl.drda.DRDAStatement.explicitPrepare(DRDAStatement.java:444)
>       at 
> org.apache.derby.impl.drda.DRDAConnThread.parsePRPSQLSTT(DRDAConnThread.java:3132)
>       at 
> org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:673)
>       at 
> org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:214)
> Cleanup action completed

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to