Teiid throws TEIID31071 if sub query uses "in memory" materialized view and "external" materialized view
Issue
- Teiid Engine throws "Invalid table"[1] if a query includes a sub query which uses 2 different types of tables, one is "in memory" materialized view, and the other one is "external" materialized view.
- Although the Exception[1] says "Table xxxxx has no columns defined", columns are defined.
- If user does not use a sub query and JOIN "in memory" materialized view and "external" materialized view, its works fine
- The issue always occurs even rebooting JBoss DV
[1]
15:46:00,634 ERROR [org.teiid.PROCESSOR] (Worker16_QueryProcessorQueue324) TEIID30019 Unexpected exception for request MwL2Tasy3Q3e.0: org.teiid.api.exception.query.QueryMetadataException: TEIID31071 Invalid table; Table xxxxx has no columns defined
at org.teiid.query.metadata.TransformationMetadata.getElementIDsInGroupID(TransformationMetadata.java:279) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.metadata.TempMetadataAdapter.getElementIDsInGroupID(TempMetadataAdapter.java:218) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.resolver.util.ResolverUtil.getGroupInfo(ResolverUtil.java:508) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.resolver.util.ResolverUtil.resolveElementsInGroup(ResolverUtil.java:492) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.getOutputCols(NewCalculateCostUtil.java:585) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.createColStats(NewCalculateCostUtil.java:533) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.estimateSourceNodeCost(NewCalculateCostUtil.java:521) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.computeNodeCost(NewCalculateCostUtil.java:154) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.updateCardinality(NewCalculateCostUtil.java:136) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.updateCardinality(NewCalculateCostUtil.java:133) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.updateCardinality(NewCalculateCostUtil.java:133) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.NewCalculateCostUtil.computeCostForTree(NewCalculateCostUtil.java:122) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.JoinRegion.initializeCostingInformation(JoinRegion.java:390) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.rules.RulePlanJoins.execute(RulePlanJoins.java:163) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.RelationalPlanner.executeRules(RelationalPlanner.java:584) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.relational.RelationalPlanner.optimize(RelationalPlanner.java:245) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.query.optimizer.QueryOptimizer.optimizePlan(QueryOptimizer.java:159) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.dqp.internal.process.Request.generatePlan(Request.java:409) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.dqp.internal.process.Request.processRequest(Request.java:436) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:600) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:309) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:248) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:269) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:214) [teiid-engine-8.4.1-redhat-7.jar:8.4.1-redhat-7]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) [rt.jar:1.7.0_71]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) [rt.jar:1.7.0_71]
at java.lang.Thread.run(Thread.java:745) [rt.jar:1.7.0_71]
Environment
- Red Hat JBoss Data Virtualization
- 6.0.0
Subscriber exclusive content
A Red Hat subscription provides unlimited access to our knowledgebase of over 48,000 articles and solutions.
Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.
