[
https://issues.apache.org/jira/browse/HBASE-19920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16354530#comment-16354530
]
Mike Drob commented on HBASE-19920:
-----------------------------------
While trying to write good tests, I realized there's a much more
straightforward way to accomplish this that doesn't involve creating new
classes. v4 moves the classloader into a singleton holder idiom
I didn't write tests for this because at that point we'd be verifying that the
JVM works as expected, which I think places it outside of the scope of what
we're trying to do here. If somebody feels strongly about this, I can try to
write one anyway though.
> 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, HBASE-19920.v2.patch,
> HBASE-19920.v3.patch, HBASE-19920.v4.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)