[teiid-issues] [JBoss JIRA] (TEIID-2297) java.lang.IndexOutOfBoundsException in LobManager under continuous execution

Steven Hawkins (JIRA) jira-events at lists.jboss.org
Wed Nov 7 10:10:17 EST 2012


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

Steven Hawkins resolved TEIID-2297.
-----------------------------------

    Resolution: Done


Thanks for the complete test case.

Corrected the termination tuple to the proper width, but went further to completely disable lob tracking for continuous - since it's embedded only we should not need to track.  However if we allow use socket connections, then we'll need some mode to force inlining perhaps with truncation, rather than indefinite accumulation of lob references.

Also based upon the test case, we need to report an object type for Types.ARRAY as we don't yet support properly specifying an ARRAY type from a language/metadata perspective.
                
>  java.lang.IndexOutOfBoundsException in LobManager under continuous execution
> -----------------------------------------------------------------------------
>
>                 Key: TEIID-2297
>                 URL: https://issues.jboss.org/browse/TEIID-2297
>             Project: Teiid
>          Issue Type: Bug
>          Components: Query Engine
>    Affects Versions: 8.2
>            Reporter: Mark Addleman
>            Assignee: Steven Hawkins
>             Fix For: 8.2
>
>         Attachments: ContinuousExecutionLobIndexOutOfBounds.java
>
>
> Nov 06, 2012 11:53:33 AM org.teiid.logging.JavaLogger log
> SEVERE: TEIID30019 Unexpected exception for request AOyPhe2xsxVc.0
> java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> 	at java.util.ArrayList.rangeCheck(ArrayList.java:604)
> 	at java.util.ArrayList.get(ArrayList.java:382)
> 	at org.teiid.common.buffer.LobManager.updateReferences(LobManager.java:116)
> 	at org.teiid.common.buffer.TupleBuffer.addTupleBatch(TupleBuffer.java:138)
> 	at org.teiid.query.processor.BatchCollector.flushBatchDirect(BatchCollector.java:197)
> 	at org.teiid.dqp.internal.process.RequestWorkItem$1.flushBatchDirect(RequestWorkItem.java:555)
> 	at org.teiid.query.processor.BatchCollector.flushBatch(BatchCollector.java:191)
> 	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:166)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
> 	at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:219)
> 	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:249)
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:123)
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:298)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> 	at java.lang.Thread.run(Thread.java:722)
> org.teiid.jdbc.TeiidSQLException: Index: 0, Size: 0
> 	at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:113)
> 	at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:70)
> 	at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:656)
> 	at org.teiid.jdbc.StatementImpl.access$100(StatementImpl.java:62)
> 	at org.teiid.jdbc.StatementImpl$2.onCompletion(StatementImpl.java:512)
> 	at org.teiid.client.util.ResultsFuture.done(ResultsFuture.java:130)
> 	at org.teiid.client.util.ResultsFuture.access$200(ResultsFuture.java:37)
> 	at org.teiid.client.util.ResultsFuture$1.receiveResults(ResultsFuture.java:75)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:797)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.close(RequestWorkItem.java:483)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:318)
> 	at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:49)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:219)
> 	at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:249)
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:123)
> 	at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:298)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
> 	at java.lang.Thread.run(Thread.java:722)
> Caused by: org.teiid.core.TeiidException: Index: 0, Size: 0
> 	at org.teiid.client.ResultsMessage.setException(ResultsMessage.java:172)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.sendError(RequestWorkItem.java:795)
> 	... 10 more
> Caused by: java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
> 	at java.util.ArrayList.rangeCheck(ArrayList.java:604)
> 	at java.util.ArrayList.get(ArrayList.java:382)
> 	at org.teiid.common.buffer.LobManager.updateReferences(LobManager.java:116)
> 	at org.teiid.common.buffer.TupleBuffer.addTupleBatch(TupleBuffer.java:138)
> 	at org.teiid.query.processor.BatchCollector.flushBatchDirect(BatchCollector.java:197)
> 	at org.teiid.dqp.internal.process.RequestWorkItem$1.flushBatchDirect(RequestWorkItem.java:555)
> 	at org.teiid.query.processor.BatchCollector.flushBatch(BatchCollector.java:191)
> 	at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:166)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:382)
> 	at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:291)
> 	... 8 more

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the teiid-issues mailing list