phoenix-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Chinmay Kulkarni (JIRA)" <>
Subject [jira] [Commented] (PHOENIX-4231) Support restriction of remote UDF load sources
Date Thu, 01 Feb 2018 21:37:00 GMT


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:
>             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

View raw message