You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@hive.apache.org by "Ashutosh Chauhan (Jira)" <ji...@apache.org> on 2020/05/01 01:46:00 UTC

[jira] [Updated] (HIVE-22737) Concurrency: FunctionRegistry::getFunctionInfo is static object locked

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

Ashutosh Chauhan updated HIVE-22737:
------------------------------------
    Status: Open  (was: Patch Available)

> Concurrency: FunctionRegistry::getFunctionInfo is static object locked
> ----------------------------------------------------------------------
>
>                 Key: HIVE-22737
>                 URL: https://issues.apache.org/jira/browse/HIVE-22737
>             Project: Hive
>          Issue Type: Bug
>          Components: Logical Optimizer, UDF
>            Reporter: Gopal Vijayaraghavan
>            Assignee: Ashutosh Chauhan
>            Priority: Major
>         Attachments: FunctionRegistry-lock.png, HIVE-22737.2.patch, HIVE-22737.3.patch, HIVE-22737.4.patch, HIVE-22737.5.patch, HIVE-22737.6.patch, HIVE-22737.patch
>
>
> The lock is inside a HS2-wide static object
> https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/exec/FunctionRegistry.java#L191
> {code}
>   // registry for system functions
>   private static final Registry system = new Registry(true);
> {code}
> And this is the lock itself
> https://github.com/apache/hive/blob/master/ql/src/java/org/apache/hadoop/hive/ql/exec/Registry.java#L332
> {code}
>   public FunctionInfo getFunctionInfo(String functionName) throws SemanticException {
>     lock.lock();
> {code}
>  !FunctionRegistry-lock.png! 



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