Micah Whitacre created CRUNCH-626:
-------------------------------------
Summary: HBaseSourceTarget Binary compatibility across HBase
versions
Key: CRUNCH-626
URL: https://issues.apache.org/jira/browse/CRUNCH-626
Project: Crunch
Issue Type: Improvement
Components: IO
Reporter: Micah Whitacre
Currently Crunch targets HBase 1.0. Certain vendors however are trying to
maintain API compatibility with HBase 0.96, 0.98, 1.0, and all 1.x.
While the API compatibility is ok across these versions, it was however not
binary compatible as HBase changed the method signature from returning void[1]
to returning OperationWithAttributes[1] (and in later versions Scan).
This results in an exception like the following, when you try to use the latest
Crunch 0.14 release against that vendor's distribution of HBase which we should
be theoretically compatible with.
{noformat}
java.lang.NoSuchMethodError:
org.apache.hadoop.hbase.client.Scan.setAttribute(Ljava/lang/String;[B)Lorg/apache/hadoop/hbase/client/Scan;
at
org.apache.crunch.io.hbase.HBaseSourceTarget.<init>(HBaseSourceTarget.java:112)
at
org.apache.crunch.io.hbase.HBaseSourceTarget.<init>(HBaseSourceTarget.java:96)
at
org.apache.crunch.io.hbase.HBaseSourceTarget.<init>(HBaseSourceTarget.java:88)
{noformat}
[1] -
https://github.com/apache/hbase/blob/rel/0.98.0/hbase-client/src/main/java/org/apache/hadoop/hbase/client/OperationWithAttributes.java#L40
[2] -
https://github.com/apache/hbase/blob/rel/1.0.0/hbase-client/src/main/java/org/apache/hadoop/hbase/client/OperationWithAttributes.java#L41
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)