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