[ 
https://issues.apache.org/jira/browse/HBASE-22394?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16839935#comment-16839935
 ] 

Raymond Lau commented on HBASE-22394:
-------------------------------------

Yes, we actually allow you to manage the server components within the platform 
as well (or connect to them externally, e.g. for CDH support).

I understand what you are saying – but the expectation is that "compatible" 
means binary compatible in the customers' eyes.  i.e. with 2.1.4 hbase jars, 
they can choose a set of jars from any version of hadoop with a green checkmark 
in the table – not have to rebuild the hbase jars to achieve compatibility. It 
is a surprise to me and I would not be comfortable telling our customers that 
they need to recompile jars. Customers install software – not build software.

I guess that goes back to your initial idea of providing different builds of 
hbase for different versions of hadoop. It would be acceptable if such were 
available generally, but it is a more difficult message to say "that's why you 
need our build of hbase and not the standard off-the-shelf apache build" (in 
addition to being more difficult to support).

But it seems like we've crossed this bridge before with hadoop2 compat jar. (As 
a matter of fact, we do something similar to bridge between standard apache 
hbase and CDH hbase – we view that as something we need to own, but it doesn't 
seem like managing binary compat betw different parts of the hadoop/hbase stack 
should be something that needs to be handled outside the hadoop/hbase 
communities).

I appreciate that everything takes effort and hope that this report/feedback is 
viewed constructively.

> HdfsFileStatus incompatibility when used with Hadoop 3.1.x
> ----------------------------------------------------------
>
>                 Key: HBASE-22394
>                 URL: https://issues.apache.org/jira/browse/HBASE-22394
>             Project: HBase
>          Issue Type: Bug
>          Components: regionserver
>    Affects Versions: 2.1.4
>            Reporter: Raymond Lau
>            Priority: Major
>
> Hbase 2.1.4 works fine with Hadoop 3.0.3 but when I attempted to upgrade to 
> Hadoop 3.1.2, I get the following error in the region server:
> {noformat}
> 2019-05-10 12:49:10,303 ERROR HRegionServer - ***** ABORTING region server 
> [REDACTED],16020,1557506923574: Unhandled: Found interface 
> org.apache.hadoop.hdfs.protocol.HdfsFileStatus, but class was expected *****
> java.lang.IncompatibleClassChangeError: Found interface 
> org.apache.hadoop.hdfs.protocol.HdfsFileStatus, but class was expected
> at 
> org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper.createOutput(FanOutOneBlockAsyncDFSOutputHelper.java:768)
> at 
> org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper.access$400(FanOutOneBlockAsyncDFSOutputHelper.java:118)
> at 
> org.apache.hadoop.hbase.io.asyncfs.FanOutOneBlockAsyncDFSOutputHelper$16.doCall(FanOutOneBlockAsyncDFSOutputHelper.java:848)
> {noformat}
> Hadoop 3.1.1+ is listed as compatible with Hbase 2.1.x at 
> [https://hbase.apache.org/book.html#basic.prerequisites].



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to