[ 
https://issues.apache.org/jira/browse/TAJO-360?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Hyunsik Choi resolved TAJO-360.
-------------------------------

    Resolution: Fixed

committed it to master.

> If there is no matched function, catalog causes NPE.
> ----------------------------------------------------
>
>                 Key: TAJO-360
>                 URL: https://issues.apache.org/jira/browse/TAJO-360
>             Project: Tajo
>          Issue Type: Bug
>          Components: function/udf
>            Reporter: Hyunsik Choi
>            Assignee: hyoungjunkim
>             Fix For: 0.8-incubating
>
>         Attachments: TAJO-360.patch
>
>
> If there is no matched function, catalog causes NullPointerException. This 
> case should cause a proper exception like NoSuchFunctionException.
> {code}
> java.lang.NullPointerException
>       at org.apache.tajo.catalog.FunctionDesc.<init>(FunctionDesc.java:56)
>       at 
> org.apache.tajo.catalog.AbstractCatalogClient.getFunction(AbstractCatalogClient.java:330)
>       at 
> org.apache.tajo.catalog.AbstractCatalogClient.getFunction(AbstractCatalogClient.java:303)
>       at 
> org.apache.tajo.engine.planner.LogicalPlanner.createEvalTree(LogicalPlanner.java:1076)
>       at 
> org.apache.tajo.engine.planner.LogicalPlanner.createTarget(LogicalPlanner.java:1170)
>       at 
> org.apache.tajo.engine.planner.LogicalPlanner.annotateTargets(LogicalPlanner.java:1162)
>       at 
> org.apache.tajo.engine.planner.LogicalPlanner.visitProjection(LogicalPlanner.java:647)
>       at 
> org.apache.tajo.engine.planner.LogicalPlanner.visitProjection(LogicalPlanner.java:70)
>       at 
> org.apache.tajo.engine.planner.BaseAlgebraVisitor.visitChild(BaseAlgebraVisitor.java:53)
>       at 
> org.apache.tajo.engine.planner.LogicalPlanner.createPlan(LogicalPlanner.java:103)
>       at 
> org.apache.tajo.engine.eval.ExprTestBase.getRawTargets(ExprTestBase.java:79)
>       at 
> org.apache.tajo.engine.eval.ExprTestBase.testEval(ExprTestBase.java:123)
>       at 
> org.apache.tajo.engine.eval.ExprTestBase.testSimpleEval(ExprTestBase.java:91)
>       at 
> org.apache.tajo.engine.function.TestStringOperatorsAndFunctions.testOctetLength(TestStringOperatorsAndFunctions.java:299)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at 
> org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:45)
>       at 
> org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
>       at 
> org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:42)
>       at 
> org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
>       at org.junit.runners.ParentRunner.runLeaf(ParentRunner.java:263)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:68)
>       at 
> org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:47)
>       at org.junit.runners.ParentRunner$3.run(ParentRunner.java:231)
>       at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:60)
>       at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:229)
>       at org.junit.runners.ParentRunner.access$000(ParentRunner.java:50)
>       at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:222)
>       at 
> org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
>       at 
> org.junit.internal.runners.statements.RunAfters.evaluate(RunAfters.java:30)
>       at org.junit.runners.ParentRunner.run(ParentRunner.java:300)
>       at org.junit.runner.JUnitCore.run(JUnitCore.java:157)
>       at 
> com.intellij.junit4.JUnit4IdeaTestRunner.startRunnerWithArgs(JUnit4IdeaTestRunner.java:77)
>       at 
> com.intellij.rt.execution.junit.JUnitStarter.prepareStreamsAndStart(JUnitStarter.java:195)
>       at 
> com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:63)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
>       at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
> 2013-12-03 12:06:24,901 INFO  rpc.NettyServerBase 
> (NettyServerBase.java:shutdown(120)) - Rpc (CatalogProtocol) listened on 
> 127.0.0.1:46093) shutdown
> 2013-12-03 12:06:24,901 INFO  catalog.CatalogServer 
> (CatalogServer.java:stop(173)) - Catalog Server (127.0.0.1:46093) shutdown
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to