[ 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)