[ https://issues.apache.org/jira/browse/PIG-3285?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13824211#comment-13824211 ]
Jarek Jarcec Cecho commented on PIG-3285: ----------------------------------------- Yeah I agree, more compatibility is definitely better. Considering that the class {{TableMapReduceUtil}} have "always" been there, it might become fairly straightforward. Do you think that following snippet might work? {code} Method m = TableMapReduceUtil.class.getMethod("addHBaseDependencyJars", Configuration.class); if(m != null) { m.invoke(null, job.getConfiguration()); } else { // Old code } {code} And then the basic sanity testing would be with changing the HBase version on the command line, for example: {code} ant clean test -Dtestcase=TestHBaseStorage -Dhbase.version=0.94.1 ant clean test -Dtestcase=TestHBaseStorage -Dhbase.version=0.94.14 {code} > Jobs using HBaseStorage fail to ship dependency jars > ---------------------------------------------------- > > Key: PIG-3285 > URL: https://issues.apache.org/jira/browse/PIG-3285 > Project: Pig > Issue Type: Bug > Reporter: Nick Dimiduk > Assignee: Nick Dimiduk > Fix For: 0.13.0 > > Attachments: 0001-PIG-3285-Add-HBase-dependency-jars.patch, > 0001-PIG-3285-Add-HBase-dependency-jars.patch, > 0001-PIG-3285-Add-HBase-dependency-jars.patch, 1.pig, 1.txt, 2.pig > > > Launching a job consuming {{HBaseStorage}} fails out of the box. The user > must specify {{-Dpig.additional.jars}} for HBase and all of its dependencies. > Exceptions look something like this: > {noformat} > 2013-04-19 18:58:39,360 FATAL org.apache.hadoop.mapred.Child: Error running > child : java.lang.NoClassDefFoundError: com/google/protobuf/Message > at > org.apache.hadoop.hbase.io.HbaseObjectWritable.<clinit>(HbaseObjectWritable.java:266) > at org.apache.hadoop.hbase.ipc.Invocation.write(Invocation.java:139) > at > org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:612) > at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:975) > at > org.apache.hadoop.hbase.ipc.WritableRpcEngine$Invoker.invoke(WritableRpcEngine.java:84) > at $Proxy7.getProtocolVersion(Unknown Source) > at > org.apache.hadoop.hbase.ipc.WritableRpcEngine.getProxy(WritableRpcEngine.java:136) > at org.apache.hadoop.hbase.ipc.HBaseRPC.waitForProxy(HBaseRPC.java:208) > {noformat} -- This message was sent by Atlassian JIRA (v6.1#6144)