[ https://issues.apache.org/jira/browse/HBASE-19920?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16351992#comment-16351992 ]
Francis Liu commented on HBASE-19920: ------------------------------------- [~mdrob] Rohini and I were talking about this last friday. As far as I can tell DynamicClassLoader is mainly for supporting custom filters tho there are some other cases (eg custom comparator for checkAndPut). 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? Having said that the approach you've currently taken sounds fine as it addresses the immediate concern. Tho a bit tricky as future code changes may make use of ProtobufUtil (sounds like we need to add an IT test to avoid regression). > 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)