hive-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Rui Li (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (HIVE-14139) NPE dropping permanent function
Date Sat, 02 Jul 2016 01:17:11 GMT

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

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

Thanks [~sershe] for the explanations. I agree performance is a valid concern. But not loading
the resources leaves the system registry in a somehow inconsistent state: the function is
registered in {{mFunctions}} but not in {{persistent}}, causing this NPE. If we think that
is acceptable (although there's an assert to check this), maybe we can just ignore {{persistent}}
if the function doesn't exist?
Or we can make {{persistent}} a  map from ClassName (instead of class) to RefCount? Would
like to know your opinions, thanks.

> 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
>         Attachments: HIVE-14139.1.patch
>
>
> 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)

Mime
View raw message