Github user paul-rogers commented on a diff in the pull request:

    https://github.com/apache/drill/pull/574#discussion_r80578885
  
    --- Diff: 
exec/java-exec/src/main/java/org/apache/drill/exec/planner/sql/handlers/DropFunctionHandler.java
 ---
    @@ -48,54 +48,77 @@ public DropFunctionHandler(SqlHandlerConfig config) {
       }
     
       /**
    -   * Drops UDFs dynamically.
    +   * Unregisters UDFs dynamically. Process consists of several steps:
    +   * <ol>
    +   * <li>Registering jar in jar registry to ensure that several jars with 
the same name is not being unregistered.</li>
    +   * <li>Starts remote unregistration process, gets list of all jars and 
excludes jar to be deleted.</li>
    +   * <li>Signals drill bits to start local unregistration process.</li>
    +   * <li>Removes source and binary jars from registry area.</li>
    +   * </ol>
    --- End diff --
    
    Can we explain the semantics regarding in-flight queries? If query Q is 
executing while we unregister UDF U, what happens?
    
    Suppose user A submits query Q. The foreman for Q finds that Q uses UDF U. 
The rest of the prepare takes a while.
    
    At the same time, user B unregisters U (right after the Foreman for Q 
verified that U exists.)
    
    The Foreman for Q now sends fragments to other Drillbits.
    
    Should Q find that U is available on those Drillbits? Or, is it OK for Q to 
fail because at least one Drillbit has started to unregister U?
    
    Now, supppose that Drill queues are turned on and Q sits in the queue for a 
minute before executing. Should it still find that U is available on the 
various Drillbits?
    
    This all may be worked out, the point here is just to explain the intended 
behavior.


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at infrastruct...@apache.org or file a JIRA ticket
with INFRA.
---

Reply via email to