Derby
  1. Derby
  2. DERBY-637

Conglomerate does not exist after inserting large data volume

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Cannot Reproduce
    • Affects Version/s: 10.2.1.6
    • Fix Version/s: None
    • Component/s: Store
    • Labels:
      None
    • 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
    • Urgency:
      Normal

      Description

      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

      1. noContainerBug.java
        17 kB
        Kathey Marsden

        Issue Links

          Activity

            People

            • Assignee:
              Unassigned
              Reporter:
              Øystein Grøvlen
            • Votes:
              0 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development