db-derby-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Christopher Sahnwaldt (JIRA)" <j...@apache.org>
Subject [jira] Issue Comment Edited: (DERBY-637) Conglomerate does not exist after inserting large data volume
Date Mon, 17 Dec 2007 15:40:44 GMT

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

jcsahnwaldt edited comment on DERBY-637 at 12/17/07 7:39 AM:
-----------------------------------------------------------------------

I'm not sure if all statements were affected or just the following one. In derby.log, I find
two different stack traces for it.

2007-12-17 14:40:34.526 GMT Thread[DRDAConnThread_13,5,main] (XID = 3503918836), (SESSIONID
= 78), (DATABASE = ...), (DRDAID = ...), Failed Statement is: SELECT DISTINCT(CLASS) FROM
SESSION WHERE PARENT_SESSION_ID is null AND METHOD IS NOT NULL AND CLASS IS NOT NULL ORDER
BY CLASS
ERROR XSCH1: Container 1,856 not found.
        at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
        at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:761)
        at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:538)
        at org.apache.derby.impl.store.access.RAMTransaction.openCompiledScan(RAMTransaction.java:1641)
        at org.apache.derby.impl.sql.execute.BulkTableScanResultSet.openScanController(BulkTableScanResultSet.java:180)
        at org.apache.derby.impl.sql.execute.TableScanResultSet.openCore(TableScanResultSet.java:282)
        at org.apache.derby.impl.sql.execute.BulkTableScanResultSet.openCore(BulkTableScanResultSet.java:222)
        at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(ProjectRestrictResultSet.java:168)
        at org.apache.derby.impl.sql.execute.SortResultSet.openCore(SortResultSet.java:248)
        at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(BasicNoPutResultSetImpl.java:260)
        at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370)
        at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1203)
        at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
        at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1304)
        at org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:666)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:794)
        at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:275)


2007-12-17 14:43:34.541 GMT Thread[DRDAConnThread_6,5,main] (XID = 3503918951), (SESSIONID
= 77), (DATABASE = ...), (DRDAID = ...), Failed Statement is: SELECT DISTINCT(CLASS) FROM
SESSION WHERE PARENT_SESSION_ID is null AND METHOD IS NOT NULL AND CLASS IS NOT NULL ORDER
BY CLASS
ERROR XSAI2: The conglomerate (1,856) requested does not exist.
        at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
        at org.apache.derby.impl.store.access.heap.HeapConglomerateFactory.readConglomerate(HeapConglomerateFactory.java:243)
        at org.apache.derby.impl.store.access.RAMAccessManager.conglomCacheFind(RAMAccessManager.java:482)
        at org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerate(RAMTransaction.java:397)
        at org.apache.derby.impl.store.access.RAMTransaction.getDynamicCompiledConglomInfo(RAMTransaction.java:711)
        at org.apache.derby.impl.sql.execute.TableScanResultSet.openCore(TableScanResultSet.java:253)
        at org.apache.derby.impl.sql.execute.BulkTableScanResultSet.openCore(BulkTableScanResultSet.java:222)
        at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(ProjectRestrictResultSet.java:168)
        at org.apache.derby.impl.sql.execute.SortResultSet.openCore(SortResultSet.java:248)
        at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(BasicNoPutResultSetImpl.java:260)
        at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370)
        at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1203)
        at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
        at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1304)
        at org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:666)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:794)
        at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:275)

Here are the relevant parts of the SESSION table definition:

CREATE TABLE SESSION
(
	SESSION_ID BIGINT GENERATED ALWAYS AS IDENTITY CONSTRAINT SESSION_PK PRIMARY KEY,
	PARENT_SESSION_ID BIGINT CONSTRAINT SESSION_PARENT_FK REFERENCES SESSION (SESSION_ID),
	CLASS VARCHAR(200),
	METHOD VARCHAR(100)
);

CREATE INDEX SESSION_CLASS_SESSION ON SESSION (CLASS,PARENT_SESSION_ID);
CREATE INDEX SESSION_CLASS ON SESSION (CLASS);

The constraint SESSION_PARENT_FK was dropped during the cleanup.

      was (Author: jcsahnwaldt):
    I'm not sure if all statements were affected of just the following one. In derby.log,
I find two different stack traces for it.

2007-12-17 14:40:34.526 GMT Thread[DRDAConnThread_13,5,main] (XID = 3503918836), (SESSIONID
= 78), (DATABASE = ...), (DRDAID = ...), Failed Statement is: SELECT DISTINCT(CLASS) FROM
SESSION WHERE PARENT_SESSION_ID is null AND METHOD IS NOT NULL AND CLASS IS NOT NULL ORDER
BY CLASS
ERROR XSCH1: Container 1,856 not found.
        at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
        at org.apache.derby.impl.store.access.heap.Heap.openScan(Heap.java:761)
        at org.apache.derby.impl.store.access.RAMTransaction.openScan(RAMTransaction.java:538)
        at org.apache.derby.impl.store.access.RAMTransaction.openCompiledScan(RAMTransaction.java:1641)
        at org.apache.derby.impl.sql.execute.BulkTableScanResultSet.openScanController(BulkTableScanResultSet.java:180)
        at org.apache.derby.impl.sql.execute.TableScanResultSet.openCore(TableScanResultSet.java:282)
        at org.apache.derby.impl.sql.execute.BulkTableScanResultSet.openCore(BulkTableScanResultSet.java:222)
        at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(ProjectRestrictResultSet.java:168)
        at org.apache.derby.impl.sql.execute.SortResultSet.openCore(SortResultSet.java:248)
        at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(BasicNoPutResultSetImpl.java:260)
        at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370)
        at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1203)
        at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
        at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1304)
        at org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:666)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:794)
        at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:275)


2007-12-17 14:43:34.541 GMT Thread[DRDAConnThread_6,5,main] (XID = 3503918951), (SESSIONID
= 77), (DATABASE = ...), (DRDAID = ...), Failed Statement is: SELECT DISTINCT(CLASS) FROM
SESSION WHERE PARENT_SESSION_ID is null AND METHOD IS NOT NULL AND CLASS IS NOT NULL ORDER
BY CLASS
ERROR XSAI2: The conglomerate (1,856) requested does not exist.
        at org.apache.derby.iapi.error.StandardException.newException(StandardException.java:290)
        at org.apache.derby.impl.store.access.heap.HeapConglomerateFactory.readConglomerate(HeapConglomerateFactory.java:243)
        at org.apache.derby.impl.store.access.RAMAccessManager.conglomCacheFind(RAMAccessManager.java:482)
        at org.apache.derby.impl.store.access.RAMTransaction.findExistingConglomerate(RAMTransaction.java:397)
        at org.apache.derby.impl.store.access.RAMTransaction.getDynamicCompiledConglomInfo(RAMTransaction.java:711)
        at org.apache.derby.impl.sql.execute.TableScanResultSet.openCore(TableScanResultSet.java:253)
        at org.apache.derby.impl.sql.execute.BulkTableScanResultSet.openCore(BulkTableScanResultSet.java:222)
        at org.apache.derby.impl.sql.execute.ProjectRestrictResultSet.openCore(ProjectRestrictResultSet.java:168)
        at org.apache.derby.impl.sql.execute.SortResultSet.openCore(SortResultSet.java:248)
        at org.apache.derby.impl.sql.execute.BasicNoPutResultSetImpl.open(BasicNoPutResultSetImpl.java:260)
        at org.apache.derby.impl.sql.GenericPreparedStatement.execute(GenericPreparedStatement.java:370)
        at org.apache.derby.impl.jdbc.EmbedStatement.executeStatement(EmbedStatement.java:1203)
        at org.apache.derby.impl.jdbc.EmbedPreparedStatement.executeStatement(EmbedPreparedStatement.java:1652)
        at org.apache.derby.impl.jdbc.EmbedPreparedStatement.execute(EmbedPreparedStatement.java:1304)
        at org.apache.derby.impl.drda.DRDAStatement.execute(DRDAStatement.java:666)
        at org.apache.derby.impl.drda.DRDAConnThread.processCommands(DRDAConnThread.java:794)
        at org.apache.derby.impl.drda.DRDAConnThread.run(DRDAConnThread.java:275)

Here are the relevant parts of the SESSION table definition:

CREATE TABLE SESSION
(
	SESSION_ID BIGINT GENERATED ALWAYS AS IDENTITY CONSTRAINT SESSION_PK PRIMARY KEY,
	PARENT_SESSION_ID BIGINT CONSTRAINT SESSION_PARENT_FK REFERENCES SESSION (SESSION_ID),
	CLASS VARCHAR(200),
	METHOD VARCHAR(100)
);

CREATE INDEX SESSION_CLASS_SESSION ON SESSION (CLASS,PARENT_SESSION_ID);
CREATE INDEX SESSION_CLASS ON SESSION (CLASS);

The constraint SESSION_PARENT_FK was dropped during the cleanup.
  
> 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
>
> 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.


Mime
View raw message