Teiid throws TEIID31071 if sub query uses "in memory" materialized view and "external" materialized view

Solution Verified - Updated -

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.

Current Customers and Partners

Log in for full access

Log In
Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.