Nick Dimiduk created HBASE-8386:
-----------------------------------

             Summary: deprecate TableMapReduce.addDependencyJars(Configuration, 
class<?> ...)
                 Key: HBASE-8386
                 URL: https://issues.apache.org/jira/browse/HBASE-8386
             Project: HBase
          Issue Type: Bug
          Components: mapreduce
            Reporter: Nick Dimiduk


We expose two public static methods names {{addDependencyJars}}. One of them, 
{{void addDependencyJars(Job}}, is very helpful -- goes out of its way to 
detect job dependencies as well as shipping all the necessary HBase 
dependencies. The other is shfty and nefarious, {{void 
addDependencyJars(Configuration, Class<?>...)}} -- it only adds exactly what 
the user requests, forcing them to resolve dependencies themselves and giving a 
false sense of security. We should deprecate the latter throw a big giant 
warning when people use that one. The handy functionality of providing help 
when our heuristics fail can be added via a new method signature, something 
like {{void addDependencyJars(Job, Class<?> ...}}. This method would do 
everything {{void addDependencyJars(Job}} does, plus let the user specify 
arbitrary additional classes. That way HBase still can help the user, but also 
gives them super-powers to compensate for when our heuristics fail.

For reference, this appears to be the reason why HBase + Pig doesn't really 
work out of the box. See 
[HBaseStorage.java|https://github.com/apache/pig/blob/trunk/src/org/apache/pig/backend/hadoop/hbase/HBaseStorage.java#L730]

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to