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

Mike Drob commented on HBASE-19920:
-----------------------------------

{quote}In any case, it sounds reasonable to assume that if a client (not 
running in regionserver, master, etc) needs to use a custom 
filter/coprocessor/etc it would have direct access to the classes (ie in 
classpath) to use the apis. So it would seem reasonable to assume that we only 
need to enable DynamicClassLoader on clients running in an HBase daemon?
{quote}
This was my initial assessment, but when I chatted with Stack he pointed out 
that clients can use endpoint coprocessors. Look at this [table 
API|https://hbase.apache.org/apidocs/org/apache/hadoop/hbase/client/Table.html#coprocessorService-java.lang.Class-byte:A-byte:A-org.apache.hadoop.hbase.client.coprocessor.Batch.Call-]
 for example. I think it is reasonable if users know that the coproc exists in 
dynamic classpath to let client code look for it there.

> Please check unit test failure.
Tests pass locally, thanks.

I'm thinking about how to add a test for this to prevent regression. I think I 
have an idea, will put up a new patch soon.
 

> TokenUtil.obtainToken unnecessarily creates a local directory
> -------------------------------------------------------------
>
>                 Key: HBASE-19920
>                 URL: https://issues.apache.org/jira/browse/HBASE-19920
>             Project: HBase
>          Issue Type: Bug
>            Reporter: Rohini Palaniswamy
>            Assignee: Mike Drob
>            Priority: Major
>             Fix For: 2.0
>
>         Attachments: HBASE-19920.patch
>
>
> On client code, when one calls TokenUtil.obtainToken it loads ProtobufUtil 
> which in its static block initializes DynamicClassLoader and that creates the 
> directory ${hbase.local.dir}/jars/ and also instantiates a filesystem class 
> to access hbase.dynamic.jars.dir.
> https://github.com/apache/hbase/blob/master/hbase-common/src/main/java/org/apache/hadoop/hbase/util/DynamicClassLoader.java#L109-L127
> Since this is region server specific code, not expecting this to happen when 
> one accesses hbase as a client.



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

Reply via email to