[teiid-issues] [JBoss JIRA] (TEIID-5001) TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors

dalex dalex (JIRA) issues at jboss.org
Wed Jul 19 14:15:00 EDT 2017


dalex dalex created TEIID-5001:
----------------------------------

             Summary: TextTable usage in UNION/UNION ALL queries with JOINs fails with "No value was available" or NPE errors
                 Key: TEIID-5001
                 URL: https://issues.jboss.org/browse/TEIID-5001
             Project: Teiid
          Issue Type: Bug
          Components: Query Engine
    Affects Versions: 9.3
         Environment: teiid-9.3.0.Final on WildFly Full 10.0.0.Final (WildFly Core 2.0.10.Final)
            Reporter: dalex dalex
            Assignee: Steven Hawkins
            Priority: Blocker
         Attachments: emptydateranges.csv

Running the following query:
{code:sql}
SELECT id FROM 
    (SELECT d.id FROM (
         SELECT 'l1' as domain
        ) dim_md_domains_to_load, table(CALL testcase.proc_web_avg_visit_duration_empty("domain" => domain)) x
    JOIN testcase.dim_md_date_ranges d ON true
    UNION
    SELECT id FROM testcase.dim_md_date_ranges
    ) z
{code}

when using the following procedure:
{code:sql}
CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
            domain string
          ) RETURNS (i integer) AS
          BEGIN
            select 1;
          END
{code}

leads to the following error message:
{code}
2017-07-19 19:57:12,608 ERROR [org.teiid.PROCESSOR] (Worker1_QueryProcessorQueue15) FOgTHY5kk50l TEIID30019 Unexpected exception for request FOgTHY5kk50l.1: org.teiid.core.TeiidCo
mponentException: TEIID30328 Unable to evaluate dim_md_domains_to_load.domain: No value was available
        at org.teiid.query.util.CommandContext.getFromContext(CommandContext.java:514)
        at org.teiid.query.eval.Evaluator.internalEvaluate(Evaluator.java:766)
        at org.teiid.query.eval.Evaluator.evaluate(Evaluator.java:726)
        at org.teiid.query.processor.proc.ProcedurePlan.evaluateExpression(ProcedurePlan.java:857)
        at org.teiid.query.processor.proc.ProcedurePlan.open(ProcedurePlan.java:225)
        at org.teiid.query.processor.relational.PlanExecutionNode.open(PlanExecutionNode.java:82)
        at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
        at org.teiid.query.processor.relational.JoinStrategy.openLeft(JoinStrategy.java:95)
        at org.teiid.query.processor.relational.NestedTableJoinStrategy.openLeft(NestedTableJoinStrategy.java:74)
        at org.teiid.query.processor.relational.JoinNode.open(JoinNode.java:145)
        at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
        at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
        at org.teiid.query.processor.relational.UnionAllNode.open(UnionAllNode.java:123)
        at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
        at org.teiid.query.processor.relational.DupRemoveNode.open(DupRemoveNode.java:53)
        at org.teiid.query.processor.relational.RelationalNode.open(RelationalNode.java:254)
        at org.teiid.query.processor.relational.LimitNode.open(LimitNode.java:146)
        at org.teiid.query.processor.relational.RelationalPlan.open(RelationalPlan.java:136)
        at org.teiid.query.processor.QueryProcessor.init(QueryProcessor.java:231)
        at org.teiid.query.processor.QueryProcessor.nextBatchDirect(QueryProcessor.java:138)
        at org.teiid.query.processor.QueryProcessor.nextBatch(QueryProcessor.java:114)
        at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:164)
        at org.teiid.query.processor.BatchCollector.collectTuples(BatchCollector.java:146)
        at org.teiid.dqp.internal.process.RequestWorkItem.processMore(RequestWorkItem.java:477)
        at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:349)
        at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
        at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
        at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
        at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
        at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{code}

and when using the following procedure:
{code:sql}
CREATE VIRTUAL PROCEDURE proc_web_avg_visit_duration_empty(
            domain string
          ) RETURNS (i integer) AS
          BEGIN
          END
{code}

leads to the following error message:
{code}
2017-07-19 19:51:09,898 ERROR [org.teiid.PROCESSOR] (Worker0_QueryProcessorQueue6) W9VMA4B+d8Gd TEIID30019 Unexpected exception for request W9VMA4B+d8Gd.1: java.lang.NullPointerEx
ception
        at org.teiid.query.processor.proc.Program.instructionsRequireTransaction(Program.java:307)
        at org.teiid.query.processor.proc.Program.requiresTransaction(Program.java:301)
        at org.teiid.query.processor.proc.ProcedurePlan.requiresTransaction(ProcedurePlan.java:881)
        at org.teiid.query.processor.relational.PlanExecutionNode.requiresTransaction(PlanExecutionNode.java:184)
        at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:283)
        at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
        at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
        at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
        at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
        at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
        at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
        at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:291)
        at org.teiid.query.processor.relational.RelationalPlan.requiresTransaction(RelationalPlan.java:269)
        at org.teiid.dqp.internal.process.Request.getTransactionContext(Request.java:374)
        at org.teiid.dqp.internal.process.Request.createProcessor(Request.java:350)
        at org.teiid.dqp.internal.process.Request.processRequest(Request.java:485)
        at org.teiid.dqp.internal.process.RequestWorkItem.processNew(RequestWorkItem.java:657)
        at org.teiid.dqp.internal.process.RequestWorkItem.process(RequestWorkItem.java:338)
        at org.teiid.dqp.internal.process.AbstractWorkItem.run(AbstractWorkItem.java:51)
        at org.teiid.dqp.internal.process.RequestWorkItem.run(RequestWorkItem.java:275)
        at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:282)
        at org.teiid.dqp.internal.process.ThreadReuseExecutor$RunnableWrapper.run(ThreadReuseExecutor.java:119)
        at org.teiid.dqp.internal.process.ThreadReuseExecutor$3.run(ThreadReuseExecutor.java:210)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
        at java.lang.Thread.run(Thread.java:745)
{code}



--
This message was sent by Atlassian JIRA
(v7.2.3#72005)


More information about the teiid-issues mailing list