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

Chinmay Kulkarni commented on PHOENIX-4231:
-------------------------------------------

When users execute a _CREATE FUNCTION_ statement, here are the following 
options based on the UDF's jar path:
 # If the user does not provide the location of the jar file with 'using jar', 
the DynamicClassLoader will automatically try to load the class from the 
hbase.dynamic.jars.dir directory.
 # As of now, if the user provides an HDFS URI path for the jar file with 
'using jar <hdfs:// URI jar path>', the DynamicClassLoader will try to load the 
class from this location, without restricting the search to within 
hbase.dynamic.jars.dir. 
 # If the user wishes to load a local jar, he/she is expected to manually load 
the jar onto any HDFS filesystem reachable on the network (any such location, 
not necessarily restricted to hbase.dynamic.jars.dir) and follow step 2.
 # If the user calls 'add jar <UDF jar>' prior to the _CREATE FUNCTION_ 
statement, his/her local jar will be automatically copied to the 
hbase.dynamic.jars.dir directory. Note that this only applies to a local jar, 
not any jar on the HDFS. In this case, the user can follow step 1 or 2.

To support this feature, we can do the following:
 # Allow the user to 'add jar <hdfs:// URI jar path>' so their jar to be loaded 
is inside the hbase.dynamic.jars.dir directory. Currently, we only allow local 
jars to be added.
 # Load the class only from the hbase.dynamic.jars.dir directory, handling URIs 
without scheme and authority carefully.

Any suggestions or comments [~apurtell] [~jamestaylor]? 

 

> Support restriction of remote UDF load sources 
> -----------------------------------------------
>
>                 Key: PHOENIX-4231
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-4231
>             Project: Phoenix
>          Issue Type: Improvement
>            Reporter: Andrew Purtell
>            Assignee: Chinmay Kulkarni
>            Priority: Major
>
> When allowUserDefinedFunctions is true, users can load UDFs remotely via a 
> jar file from any HDFS filesystem reachable on the network. The setting 
> hbase.dynamic.jars.dir can be used to restrict locations for jar loading but 
> is only applied to jars loaded from the local filesystem.  We should 
> implement support for similar restriction via configuration for jars loaded 
> via hdfs:// URIs.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to