Hi Lewis,
I added this to the main pom, but I am not sure if this is correct
because I guess HBase 0.94.1 still needs Avro 1.6 to work right? or
does this makes the HBase module not to fetch Avro 1.3?
<dependency>
<groupId>org.apache.hbase</groupId>
<artifactId>hbase</artifactId>
<version>${hbase.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.hbase</groupId>
<artifactId>avro</artifactId>
</exclusion>
</exclusions>
</dependency>
Anyways I started adding all the new methods for this HBase version
but there are just many things to add. I mean the avro things are not
so problematic but I was asked about HBaseTableConnection class which
implements HTableInterface that now needs this method:
@Override
<T extends CoprocessorProtocol,R> Map<byte[],R>
coprocessorExec(Class<T> protocol,
byte[] startKey,
byte[] endKey,
Batch.Call<T,R> callable) throws IOException, Throwable{
return null;
}
And this in turn needs the Batch interface from
org.apache.hadoop.hbase.client.coprocessor, I think there are still a
few things to be done before 0.94.1. I will download 0.90.4 and play
with now until we upgrade our avro dependencies (:
Renato M.
2012/8/30 Lewis John Mcgibbney <[email protected]>:
> Hi Renato,
>
> On Thu, Aug 30, 2012 at 6:52 AM, Renato Marroquín Mogrovejo
> <[email protected]> wrote:
>
> You may wish to add an exclusion for the transitive avro dependency
> which is pulled when fetching hbase 0.04.1 artifact.
> The 1st two errors (avro specific) make sense if you check out the
> Javadoc for our current Avro 1.3.3 implementation [0] and the HBase
> 0.94.1 implementation [1]. Navigate the the BinaryEncoder class.
>
> [0] http://avro.apache.org/docs/1.3.3/api/java/index.html
> [1] http://avro.apache.org/docs/1.5.3/api/java/index.html
>
>> [ERROR]
>> /Users/renatomarroquin/Documents/workspace/gora-trunk/gora-hbase/src/main/java/org/apache/gora/hbase/util/HBaseByteInterface.java:[58,22]
>> org.apache.gora.hbase.util.HBaseByteInterface.BinaryEncoderWithStream
>> is not abstract and does not override abstract method bytesBuffered()
>> in org.apache.avro.io.BinaryEncoder
>> [ERROR]
>> /Users/renatomarroquin/Documents/workspace/gora-trunk/gora-hbase/src/main/java/org/apache/gora/hbase/util/HBaseByteInterface.java:[60,6]
>> cannot find symbol
>> [ERROR] symbol : constructor BinaryEncoder(java.io.OutputStream)
>> [ERROR] location: class org.apache.avro.io.BinaryEncoder
>
> In all honesty from looking at the remainder of the errors they looks
> like changes to the Hbase API resulting in conflicts in the way we
> currrently use the HBase API in Gora. This would require some updating
> to the Gora HBase classes.
>
> hth
>
> Lewis
>
>> [ERROR]
>> /Users/renatomarroquin/Documents/workspace/gora-trunk/gora-hbase/src/main/java/org/apache/gora/hbase/util/HBaseByteInterface.java:[64,13]
>> cannot find symbol
>> [ERROR] symbol : variable out
>> [ERROR] location: class
>> org.apache.gora.hbase.util.HBaseByteInterface.BinaryEncoderWithStream
>> [ERROR]
>> /Users/renatomarroquin/Documents/workspace/gora-trunk/gora-hbase/src/main/java/org/apache/gora/hbase/util/HBaseByteInterface.java:[204,13]
>> cannot find symbol
>> [ERROR] symbol : method flush()
>> [ERROR] location: class
>> org.apache.gora.hbase.util.HBaseByteInterface.BinaryEncoderWithStream
>> [ERROR]
>> /Users/renatomarroquin/Documents/workspace/gora-trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseTableConnection.java:[46,7]
>> org.apache.gora.hbase.store.HBaseTableConnection is not abstract and
>> does not override abstract method
>> <T,R>coprocessorExec(java.lang.Class<T>,byte[],byte[],org.apache.hadoop.hbase.client.coprocessor.Batch.Call<T,R>,org.apache.hadoop.hbase.client.coprocessor.Batch.Callback<R>)
>> in org.apache.hadoop.hbase.client.HTableInterface
>> [ERROR]
>> /Users/renatomarroquin/Documents/workspace/gora-trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseTableConnection.java:[147,2]
>> method does not override or implement a method from a supertype
>> [ERROR]
>> /Users/renatomarroquin/Documents/workspace/gora-trunk/gora-hbase/src/main/java/org/apache/gora/hbase/store/HBaseTableConnection.java:[153,2]
>> method does not override or implement a method from a supertype
>
>
>
> --
> Lewis