You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hive.apache.org by "Jason Dere (JIRA)" <ji...@apache.org> on 2014/10/02 02:26:34 UTC

[jira] [Commented] (HIVE-2573) Create per-session function registry

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

Jason Dere commented on HIVE-2573:
----------------------------------

Nice! Is there an updated RB entry for this? A few comments so far:

FunctionRegistry.java:
* registerTemporaryUDF()/registerTemporaryGenericUDF()/registerTemporaryGenericUDTF()/etc: Is it now possible to remove these?
* getFunctionInfo(): This changes the order in which unqualified function names are resolved:
** Before:
*** Temp/system functions looked up first (without qualified name)
*** Function name qualified with DB name, looked up in metastore
** With patch:
*** Temp functions looked up first (without qualified name)
*** Function name qualified with DB name, looked up in metastore
*** System functions looked up (without qualified name)
*** Function name qualified with DB name, looked up in metastore a 2nd time
** This also means that built-in functions end up requiring a failed metastore lookup due to checking the SessionState Registry first, and in worst case a non-existent function requires 2 separate lookups to the metastore. I think it should be possible to get behavior similar to the old behavior, if you move most of the logic back to FunctionRegistry.getFunctionInfo() and if Registry is able to lookup functions with/without looking in the metastore.

FunctionTask.java:
* dropTemporaryFunction(): Should this use FunctionRegistry.unregisterTemporaryUDF()?

Registry.java:
* LOG is using FunctionRegistry.class; should use Registry.class

> Create per-session function registry 
> -------------------------------------
>
>                 Key: HIVE-2573
>                 URL: https://issues.apache.org/jira/browse/HIVE-2573
>             Project: Hive
>          Issue Type: Improvement
>          Components: Server Infrastructure
>            Reporter: Navis
>            Assignee: Jason Dere
>            Priority: Minor
>         Attachments: ASF.LICENSE.NOT.GRANTED--HIVE-2573.D3231.1.patch, HIVE-2573.1.patch.txt, HIVE-2573.2.patch.txt, HIVE-2573.3.patch.txt, HIVE-2573.4.patch.txt
>
>
> Currently the function registry is shared resource and could be overrided by other users when using HiveServer. If per-session function registry is provided, this situation could be prevented.



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