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

ASF GitHub Bot commented on DRILL-4726:
---------------------------------------

Github user arina-ielchiieva commented on a diff in the pull request:

    https://github.com/apache/drill/pull/574#discussion_r78292645
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/expr/fn/FunctionImplementationRegistry.java
 ---
    @@ -138,18 +171,25 @@ private String functionReplacement(FunctionCall 
functionCall) {
     
       /**
        * Find the Drill function implementation that matches the name, arg 
types and return type.
    -   * @param name
    -   * @param argTypes
    -   * @param returnType
    -   * @return
    +   * If exact function implementation was not found and in case if Dynamic 
UDF Support is enabled
    +   * loads all missing remote functions and tries to find Drill 
implementation one more time.
        */
       public DrillFuncHolder findExactMatchingDrillFunction(String name, 
List<MajorType> argTypes, MajorType returnType) {
    +    return findExactMatchingDrillFunction(name, argTypes, returnType, 
true);
    +  }
    +
    +  private DrillFuncHolder findExactMatchingDrillFunction(String name, 
List<MajorType> argTypes, MajorType returnType, boolean retry) {
         for (DrillFuncHolder h : drillFuncRegistry.getMethods(name)) {
           if (h.matches(returnType, argTypes)) {
             return h;
           }
         }
     
    +    if (retry && optionManager != null && 
optionManager.getOption(ExecConstants.DYNAMIC_UDF_SUPPORT_ENABLED).bool_val) {
    +      if (loadRemoteFunctions()) {
    --- End diff --
    
    Agree. I'll make loadFunctions method thread-safe.


> Dynamic UDFs support
> --------------------
>
>                 Key: DRILL-4726
>                 URL: https://issues.apache.org/jira/browse/DRILL-4726
>             Project: Apache Drill
>          Issue Type: New Feature
>    Affects Versions: 1.6.0
>            Reporter: Arina Ielchiieva
>            Assignee: Arina Ielchiieva
>             Fix For: Future
>
>
> Allow register UDFs without  restart of Drillbits.
> Design is described in document below:
> https://docs.google.com/document/d/1FfyJtWae5TLuyheHCfldYUpCdeIezR2RlNsrOTYyAB4/edit?usp=sharing
>  



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

Reply via email to