Note: This bug is displayed in read-only format because the product is no longer active in Red Hat Bugzilla.

Bug 1213677

Summary: User query should be terminated when TEIID30001
Product: [JBoss] JBoss Data Virtualization 6 Reporter: Hisanobu Okuda <hokuda>
Component: TeiidAssignee: Van Halbert <vhalbert>
Status: CLOSED WONTFIX QA Contact:
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 6.1.0CC: atangrin, hokuda, vhalbert
Target Milestone: ---   
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2015-05-01 14:49:38 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:

Description Hisanobu Okuda 2015-04-21 04:16:11 UTC
Even if I get the following error when I access a mat view for the first time just after starting JDV:-


12:45:46,404 ERROR [org.teiid.BUFFER_MGR] (BufferManager Cleaner) TEIID30001 Max block number exceeded by 1 0. Increase the maxStorageObjectSize to support larger storage objects.  Alternatively you could make the processor batch size smaller.


the result for the query returns sucessfully.

However, the 2nd access to the mat view gives an error at client side:-


org.teiid.jdbc.TeiidSQLException: Batch not found in storage 0
    at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:135)
    at org.teiid.jdbc.TeiidSQLException.create(TeiidSQLException.java:71)
    at org.teiid.jdbc.StatementImpl.postReceiveResults(StatementImpl.java:668)


And server side:-


12:52:50,961 ERROR [org.teiid.PROCESSOR] (Worker3_QueryProcessorQueue6) TEIID30019 Unexpected exception for request LdGNTpFDRwjr.0: java.lang.AssertionError: Batch not found in storage 0
        at org.teiid.common.buffer.impl.BufferManagerImpl$BatchManagerImpl.getBatch(BufferManagerImpl.java:306) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.common.buffer.SPage.getValues(SPage.java:237) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.common.buffer.TupleBrowser.nextTuple(TupleBrowser.java:223) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.tempdata.TempTable$QueryTupleSource.nextTuple(TempTable.java:192) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.tempdata.TempTableDataManager$ProxyTupleSource.nextTuple(TempTableDataManager.java:110) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.AccessNode.nextBatchDirect(AccessNode.java:369) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.LimitNode.nextBatchDirect(LimitNode.java:102) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.BatchCollector$BatchProducerTupleSource.nextTuple(BatchCollector.java:89) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.GroupingNode.groupPhase(GroupingNode.java:405) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.GroupingNode.nextBatchDirect(GroupingNode.java:336) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.ProjectNode.nextBatchDirect(ProjectNode.java:146) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.RelationalNode.nextBatch(RelationalNode.java:278) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.relational.RelationalPlan.nextBatch(RelationalPlan.java:136) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:151) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:159) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:141) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:444) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:326) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.7.1.redhat-8.jar:8.7.1.redhat-8]
        ...


The first attempt should give me an error as well when TEIID30001 occurs.

Comment 1 Hisanobu Okuda 2015-04-21 04:17:36 UTC
[steps to reproduce]

1. prepare MySQL tables using the attached create_db.sql. then import testdata_a.csv to the table A, and testdata_b.csv to the table B.

2. copy the attached standalone.xml to your standalone.xml and start JDV.

3. deploy buffertest.vdb

4. unzip jdv_client.zip, cd jdv_client, then run `ant runtest`. You will get TEIID30001 in server.log, but a resultset returns, and it looks successful.

5. run `ant runtest` again. You will get an error then.


Note : The files are attached in https://issues.jboss.org/browse/TEIID-3448

Comment 2 Van Halbert 2015-04-27 12:58:50 UTC
Hisanabu,

Can you provide any additional information, as the engineer has commented on the JIRA, indicating there are several considerations here.

Comment 3 Hisanobu Okuda 2015-04-28 11:35:57 UTC
Van, Steve,
When TEIID30001 occurs, is a returned result set correct? If yes, it is not an issue. If no, a user always need to review teiid-command.log file to confirm if he/she gets a correct result set.

Comment 4 JBoss JIRA Server 2015-04-30 21:22:25 UTC
Steven Hawkins <shawkins> updated the status of jira TEIID-3448 to Resolved

Comment 6 JBoss JIRA Server 2015-06-23 15:53:07 UTC
Steven Hawkins <shawkins> updated the status of jira TEIID-3448 to Closed