Uploaded image for project: 'Teiid'
  1. Teiid
  2. TEIID-4097

No active transaction found while executing long running update statement

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • 8.11.3
    • None
    • None

    Description

      When executing the following statement an exception "java.sql.SQLException: javax.resource.ResourceException: IJ000460: Error checking for a transaction" occurs

      update MVGobs set SequenceName = (select Naam from #seqUniek where ordernumber = MVGobs.OrderNumber and patientID = MVGobs.patientid) where patientid <= 60222

      The MVGObs table is a foreign temporary table on a MySQL 5.6 server. It has almost 1 million rows.
      #seqUniek is an in memory temporary table. It has a primary key defined on the combination of ordernumber and patientid. It has almost 12000 rows.

      This is the complete stack trace:

      10:44:12,929 WARN [org.teiid.CONNECTOR] (Worker36735_QueryProcessorQueue1249945) E6abWUweBXyr Connector worker process failed for atomic-request=E6abWUweBXyr.41.2.311518: org.teiid.translator.TranslatorException: TEIID11009 java.sql.SQLException: javax.resource.ResourceException: IJ000460: Error checking for a transaction
      at org.teiid.translator.jdbc.JDBCExecutionFactory.getConnection(JDBCExecutionFactory.java:270) [translator-jdbc-8.11.3.jar:8.11.3]
      at org.teiid.translator.jdbc.JDBCExecutionFactory.getConnection(JDBCExecutionFactory.java:68) [translator-jdbc-8.11.3.jar:8.11.3]
      at org.teiid.translator.ExecutionFactory.getConnection(ExecutionFactory.java:194) [teiid-api-8.11.3.jar:8.11.3]
      at org.teiid.dqp.internal.datamgr.ConnectorWorkItem.execute(ConnectorWorkItem.java:305)
      at sun.reflect.GeneratedMethodAccessor98.invoke(Unknown Source) [:1.8.0_60]
      at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.8.0_60]
      at java.lang.reflect.Method.invoke(Method.java:497) [rt.jar:1.8.0_60]
      at org.teiid.dqp.internal.datamgr.ConnectorManager$1.invoke(ConnectorManager.java:211)
      at com.sun.proxy.$Proxy47.execute(Unknown Source)
      at org.teiid.dqp.internal.process.DataTierTupleSource.getResults(DataTierTupleSource.java:298)
      at org.teiid.dqp.internal.process.DataTierTupleSource.nextTuple(DataTierTupleSource.java:135)
      at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:369)
      at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278)
      at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
      at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
      at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
      at org.teiid.query.processor.BatchIterator.finalRow(BatchIterator.java:69)
      at org.teiid.common.buffer.AbstractTupleSource.getCurrentTuple(AbstractTupleSource.java:70)
      at org.teiid.query.processor.BatchIterator.getCurrentTuple(BatchIterator.java:84)
      at org.teiid.common.buffer.AbstractTupleSource.hasNext(AbstractTupleSource.java:92)
      at org.teiid.query.processor.proc.ProcedurePlan.executePlan(ProcedurePlan.java:603)
      at org.teiid.query.processor.proc.CreateCursorResultSetInstruction.process(CreateCursorResultSetInstruction.java:69)
      at org.teiid.query.processor.proc.ProcedurePlan.processProcedure(ProcedurePlan.java:384)
      at org.teiid.query.processor.proc.ProcedurePlan.nextBatchDirect(ProcedurePlan.java:293)
      at org.teiid.query.processor.proc.ProcedurePlan.nextBatch(ProcedurePlan.java:267)
      at org.teiid.query.processor.relational.PlanExecutionNode.nextBatchDirect(PlanExecutionNode.java:118)
      at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278)
      at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:145)
      at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151)
      at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
      at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
      at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
      at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:457)
      at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:339)
      at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
      at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:267)
      at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:276)
      at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
      at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [rt.jar:1.8.0_60]
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [rt.jar:1.8.0_60]
      at java.lang.Thread.run(Thread.java:745) [rt.jar:1.8.0_60]
      Caused by: java.sql.SQLException: javax.resource.ResourceException: IJ000460: Error checking for a transaction
      at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:151)
      at org.teiid.translator.jdbc.JDBCExecutionFactory.getConnection(JDBCExecutionFactory.java:266) [translator-jdbc-8.11.3.jar:8.11.3]
      ... 41 more
      Caused by: javax.resource.ResourceException: IJ000460: Error checking for a transaction
      at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:362)
      at org.jboss.jca.core.connectionmanager.AbstractConnectionManager.allocateConnection(AbstractConnectionManager.java:510)
      at org.jboss.jca.adapters.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:143)
      ... 42 more
      Caused by: javax.resource.ResourceException: IJ000459: Transaction is not active: tx=TransactionImple < ac, BasicAction: 0:ffff7f000101:3ecd82e1:56b9cee9:3599e status: ActionStatus.ABORTED >
      at org.jboss.jca.core.connectionmanager.tx.TxConnectionManagerImpl.getManagedConnection(TxConnectionManagerImpl.java:352)
      ... 44 more

      This is the execution plan:

      PlanExecutionNode
      Relational Node ID=4,
      Output Columns=Count (integer),
      Cost Estimates=Estimated Node Cardinality: -1.0,

      Program

      ASSIGNMENT
      Variable=VARIABLES.ROWS_UPDATED,
      Expression=0,

      LOOP
      Result Set=X,

      ProjectNode
      Relational Node ID=0,
      Output Columns=s_0 (string),s_1 (integer),s_2 (integer),
      Cost Estimates=Estimated Node Cardinality: -1.0,
      Select Columns=(SELECT #seqUniek.Naam FROM #seqUniek WHERE (#seqUniek.Ordernumber = MVGObs.Ordernumber) AND (#seqUniek.Patientid = MVGObs.Patientid) LIMIT 2) AS s_0,MVGObs.Patientid AS s_1,MVGObs.Ordernumber AS s_2,

      AccessNode
      Relational Node ID=1,
      Output Columns=Patientid (integer),Ordernumber (integer),
      Cost Estimates=Estimated Node Cardinality: -1.0,
      Query=SELECT g_0.Patientid, g_0.Ordernumber FROM MVGObs AS g_0 WHERE g_0.Patientid <= 60222,
      Model Name=tmptables,

      LimitNode
      Relational Node ID=0,
      Output Columns=Naam (string),
      Cost Estimates=Estimated Node Cardinality: 1.0,
      Row Offset=null,
      Row Limit=2,

      AccessNode
      Relational Node ID=1,
      Output Columns=Naam (string),
      Cost Estimates=Estimated Node Cardinality: 1.0,
      Query=SELECT #seqUniek.Naam FROM #seqUniek WHERE (#seqUniek.Ordernumber = MVGObs.Ordernumber) AND (#seqUniek.Patientid = MVGObs.Patientid),
      Model Name=_TEMP_,

      Program

      CREATE CURSOR

      AccessNode
      Relational Node ID=2,
      Output Columns=Count (integer),
      Cost Estimates=Estimated Node Cardinality: -1.0,
      Query=UPDATE MVGObs SET SequenceName = X.s_0 WHERE (MVGObs.Patientid = X.s_1) AND (MVGObs.Ordernumber = X.s_2),
      Model Name=tmptables,

      ASSIGNMENT
      Variable=VARIABLES.ROWS_UPDATED,
      Expression=(VARIABLES.ROWS_UPDATED + 1),

      CREATE CURSOR

      ProjectNode
      Relational Node ID=3,
      Output Columns=ROWS_UPDATED (integer),
      Cost Estimates=Estimated Node Cardinality: 1.0,
      Select Columns=VARIABLES.ROWS_UPDATED,

      Attachments

        Activity

          People

            rhn-engineering-shawkins Steven Hawkins
            gadeynebram Bram Gadeyne (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: