You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "Ian Maxon (Jira)" <ji...@apache.org> on 2021/05/12 18:18:00 UTC

[jira] [Commented] (ASTERIXDB-2884) Nested UDF calls with constant argument NPEs

    [ https://issues.apache.org/jira/browse/ASTERIXDB-2884?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17343434#comment-17343434 ] 

Ian Maxon commented on ASTERIXDB-2884:
--------------------------------------

Stack from right before NPE is thrown:

{noformat}
getActualType:206, TypeComputeUtils (org.apache.asterix.om.typecomputer.impl)
getActualType:185, TypeComputeUtils (org.apache.asterix.om.typecomputer.impl)
resolveResultType:90, TypeComputeUtils (org.apache.asterix.om.typecomputer.impl)
computeType:44, AbstractResultTypeComputer (org.apache.asterix.om.typecomputer.base)
getTypeForFunction:70, ExpressionTypeComputer (org.apache.asterix.dataflow.data.common)
getType:52, ExpressionTypeComputer (org.apache.asterix.dataflow.data.common)
computeOutputTypeEnvironment:79, AssignOperator (org.apache.hyracks.algebricks.core.algebra.operators.logical)
computeAndSetTypeEnvironmentForOperator:299, AlgebricksOptimizationContext (org.apache.hyracks.algebricks.core.rewriter.base)
rewritePost:99, ExtractBatchableExternalFunctionCallsRule (org.apache.asterix.optimizer.rules)
rewriteOperatorRef:118, AbstractRuleController (org.apache.hyracks.algebricks.core.rewriter.base)
rewriteOperatorRef:91, AbstractRuleController (org.apache.hyracks.algebricks.core.rewriter.base)
rewriteOperatorRef:91, AbstractRuleController (org.apache.hyracks.algebricks.core.rewriter.base)
rewriteWithRuleCollection:43, SequentialOnceRuleController (org.apache.hyracks.algebricks.compiler.rewriter.rulecontrollers)
runOptimizationSets:91, HeuristicOptimizer (org.apache.hyracks.algebricks.core.rewriter.base)
runPhysicalOptimizationSets:121, HeuristicOptimizer (org.apache.hyracks.algebricks.core.rewriter.base)
optimize:65, HeuristicOptimizer (org.apache.hyracks.algebricks.core.rewriter.base)
optimize:94, HeuristicCompilerFactoryBuilder$1$1 (org.apache.hyracks.algebricks.compiler.api)
compileQuery:266, APIFramework (org.apache.asterix.api.common)
rewriteCompileQuery:2917, QueryTranslator (org.apache.asterix.app.translator)
lambda$handleQuery$3:3422, QueryTranslator (org.apache.asterix.app.translator)
compile:-1, 414066372 (org.apache.asterix.app.translator.QueryTranslator$$Lambda$655)
createAndRunJob:3555, QueryTranslator (org.apache.asterix.app.translator)
deliverResult:3468, QueryTranslator (org.apache.asterix.app.translator)
handleQuery:3438, QueryTranslator (org.apache.asterix.app.translator)
compileAndExecute:444, QueryTranslator (org.apache.asterix.app.translator)
handle:170, ExecuteStatementRequestMessage (org.apache.asterix.app.message)
receivedMessage:64, CCMessageBroker (org.apache.asterix.messaging)
lambda$notifyMessageBroker$0:68, ApplicationMessageWork (org.apache.hyracks.control.cc.work)
run:-1, 907065607 (org.apache.hyracks.control.cc.work.ApplicationMessageWork$$Lambda$478)
runWorker:1128, ThreadPoolExecutor (java.util.concurrent)
run:628, ThreadPoolExecutor$Worker (java.util.concurrent)
run:829, Thread (java.lang)
{noformat}


> Nested UDF calls with constant argument NPEs
> --------------------------------------------
>
>                 Key: ASTERIXDB-2884
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2884
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: FUN - Functions
>    Affects Versions: 0.9.7
>            Reporter: Luke Ren
>            Assignee: Ian Maxon
>            Priority: Major
>             Fix For: 0.9.7
>
>
> If you have a Python UDF with a body like:
> {code:python}
> def echo(a):
>     return a
> {code}
> And then define and subsequently call it as a SQL++ UDF nested within itself with a constant argument like so:
> {code:sql}
> SELECT echo(echo(5))
> {code}
> A NPE is thrown. 



--
This message was sent by Atlassian Jira
(v8.3.4#803005)