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

Rui Li commented on HIVE-14139:
-------------------------------

The problem is that we failed to register the function with 
{{Hive.registerAllFunctionsOnce -> reloadFunctions}}. When we call 
{{FunctionRegistry.registerPermanentFunction}}, we set registerToSession to 
false so that the custom jar won't be downloaded and we end up with a 
{{ClassNotFoundException}}. Therefore we get the NPE when we try to drop the 
function.
[~sershe] - I found this with latest master code. BTW do you know why we choose 
not to register the function to session when calling 
{{Hive.registerAllFunctionsOnce}}?

> NPE dropping permanent function
> -------------------------------
>
>                 Key: HIVE-14139
>                 URL: https://issues.apache.org/jira/browse/HIVE-14139
>             Project: Hive
>          Issue Type: Bug
>            Reporter: Rui Li
>            Assignee: Rui Li
>
> To reproduce:
> 1. Start a CLI session and create a permanent function.
> 2. Exit current CLI session.
> 3. Start a new CLI session and drop the function.
> Stack trace:
> {noformat}
> FAILED: error during drop function: java.lang.NullPointerException
>       at 
> org.apache.hadoop.hive.ql.exec.Registry.removePersistentFunctionUnderLock(Registry.java:513)
>       at 
> org.apache.hadoop.hive.ql.exec.Registry.unregisterFunction(Registry.java:501)
>       at 
> org.apache.hadoop.hive.ql.exec.FunctionRegistry.unregisterPermanentFunction(FunctionRegistry.java:1532)
>       at 
> org.apache.hadoop.hive.ql.exec.FunctionTask.dropPermanentFunction(FunctionTask.java:228)
>       at 
> org.apache.hadoop.hive.ql.exec.FunctionTask.execute(FunctionTask.java:95)
>       at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:197)
>       at 
> org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100)
>       at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1860)
>       at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1564)
>       at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1316)
>       at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1085)
>       at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1073)
>       at 
> org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:232)
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to