[teiid-issues] [JBoss JIRA] (TEIID-5564) Batch removed during large temp table load

Steven Hawkins (Jira) issues at jboss.org
Wed Dec 5 15:03:00 EST 2018


     [ https://issues.jboss.org/browse/TEIID-5564?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Steven Hawkins updated TEIID-5564:
----------------------------------
                   Description: 
For a sufficiently large temp operation, such as a merge over 2.5 million rows, you can see:

java.lang.AssertionError: Batch not found in storage 58804
        at org.teiid.common.buffer.impl.BufferManagerImpl$BatchManagerImpl.getBatch(BufferManagerImpl.java:382) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
        at org.teiid.common.buffer.SPage.getValues(SPage.java:240) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
        at org.teiid.common.buffer.SPage.search(SPage.java:139) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
        at org.teiid.common.buffer.STree.find(STree.java:249) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
        at org.teiid.common.buffer.STree.remove(STree.java:429) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
        at org.teiid.query.tempdata.TempTable.deleteTuple(TempTable.java:802) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
        at org.teiid.query.tempdata.TempTable.access$500(TempTable.java:83) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
        at org.teiid.query.tempdata.TempTable$InsertUpdateProcessor.undo(TempTable.java:159) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]

Which occurs during undo/rollback of an operation and masks the underlying exception.  The actual error will typically be the same as TEIID-5439, the proactive removal of the managed batches once a space limit has been reached.

This did not occur after the TEIID-5439 fix upstream, but it appears it could have still occurred - and did occur on 8.12.x.  

  was:
For a sufficiently large materialization, such as 33000000 rows by 10 columns of biginteger/string types, the load will not complete and instead produce an exception:

{code}
ERROR: TEIID30019 Unexpected exception for request yGKKEfVoiD5O.0
org.teiid.core.TeiidRuntimeException: Batch removed
	at org.teiid.query.tempdata.TempTableDataManager.rethrow(TempTableDataManager.java:880)
	at org.teiid.query.tempdata.TempTableDataManager.access$800(TempTableDataManager.java:92)
	at org.teiid.query.tempdata.TempTableDataManager$4.load(TempTableDataManager.java:625)
	at org.teiid.query.tempdata.TempTableDataManager$4.createTupleSource(TempTableDataManager.java:548)
	at org.teiid.query.tempdata.TempTableDataManager$ProxyTupleSource.nextTuple(TempTableDataManager.java:108)
	at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:401)
	at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:277)
	at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:141)
	at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:148)
	at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:111)
	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:160)
	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:142)
	at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:492)
{code}



> Batch removed during large temp table load
> ------------------------------------------
>
>                 Key: TEIID-5564
>                 URL: https://issues.jboss.org/browse/TEIID-5564
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>            Reporter: Steven Hawkins
>            Assignee: Steven Hawkins
>            Priority: Major
>             Fix For: 12.0, 11.2.2
>
>
> For a sufficiently large temp operation, such as a merge over 2.5 million rows, you can see:
> java.lang.AssertionError: Batch not found in storage 58804
>         at org.teiid.common.buffer.impl.BufferManagerImpl$BatchManagerImpl.getBatch(BufferManagerImpl.java:382) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
>         at org.teiid.common.buffer.SPage.getValues(SPage.java:240) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
>         at org.teiid.common.buffer.SPage.search(SPage.java:139) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
>         at org.teiid.common.buffer.STree.find(STree.java:249) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
>         at org.teiid.common.buffer.STree.remove(STree.java:429) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
>         at org.teiid.query.tempdata.TempTable.deleteTuple(TempTable.java:802) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
>         at org.teiid.query.tempdata.TempTable.access$500(TempTable.java:83) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
>         at org.teiid.query.tempdata.TempTable$InsertUpdateProcessor.undo(TempTable.java:159) [teiid-engine-8.12.16.6_4-redhat-64-2.jar:8.12.16.6_4-redhat-64-2]
> Which occurs during undo/rollback of an operation and masks the underlying exception.  The actual error will typically be the same as TEIID-5439, the proactive removal of the managed batches once a space limit has been reached.
> This did not occur after the TEIID-5439 fix upstream, but it appears it could have still occurred - and did occur on 8.12.x.  



--
This message was sent by Atlassian Jira
(v7.12.1#712002)


More information about the teiid-issues mailing list