[ 
https://issues.apache.org/jira/browse/PHOENIX-6333?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Istvan Toth updated PHOENIX-6333:
---------------------------------
    Description: 
In PHOENIX-6326 I've upgraded Hadoop to 3.1.4 to solve a test failure caused by 
older Jetty versions.
It turns out that only HBase 2.4 is compatible with the new Jetty in 3.1.4, (it 
uses a shaded jetty), but earlier versions are not.
Unfortunately, this happened right after we swicthed Yetus to to use Hbase 2.4, 
so the procommit checks didn't catch this.

Technically, neither the Phoenix client or server runtime artifacts are 
affected by this, as the server doesn't include HBase, and the client doesn' 
use jetty.

Considering that any pre-2.4.0 HBase version is incompatible with Hadoop 3.1.4, 
I think that the best option to use Hadoop 3.1.3 in those profiles.
As any pre-2.4.0 HBase is incompatible (at least on ther server side) with the 
problematic Java releases, 
we are not really losing anything by not supporting building releases with this 
profiles in Phoenix.

Furthermore, it turns out that even minor hadoop releases are not ABI 
compatible.
Rebuilding HBase 2.1 with -Dhadoop.profile=3.0, which uses Hadoop 3.0.3, and 
then building Phoenix with Hadoop 3.1.3 will result in the usual 
Class<->Interface errors.

While building Hbase 2.1 with -Dhadoop.profile=3.0 -Dhadoop.version=3.1.3 seems 
to resolve this, I think that sticiking with same Hadoop minor version that 
HBase defaults to in each profile will be simpler.


> Hbase versions older than 2.4.0 are incompatible with Hadoop 3.1.4
> ------------------------------------------------------------------
>
>                 Key: PHOENIX-6333
>                 URL: https://issues.apache.org/jira/browse/PHOENIX-6333
>             Project: Phoenix
>          Issue Type: Bug
>          Components: core
>    Affects Versions: 5.1.0
>            Reporter: Istvan Toth
>            Assignee: Istvan Toth
>            Priority: Blocker
>
> In PHOENIX-6326 I've upgraded Hadoop to 3.1.4 to solve a test failure caused 
> by older Jetty versions.
> It turns out that only HBase 2.4 is compatible with the new Jetty in 3.1.4, 
> (it uses a shaded jetty), but earlier versions are not.
> Unfortunately, this happened right after we swicthed Yetus to to use Hbase 
> 2.4, so the procommit checks didn't catch this.
> Technically, neither the Phoenix client or server runtime artifacts are 
> affected by this, as the server doesn't include HBase, and the client doesn' 
> use jetty.
> Considering that any pre-2.4.0 HBase version is incompatible with Hadoop 
> 3.1.4, I think that the best option to use Hadoop 3.1.3 in those profiles.
> As any pre-2.4.0 HBase is incompatible (at least on ther server side) with 
> the problematic Java releases, 
> we are not really losing anything by not supporting building releases with 
> this profiles in Phoenix.
> Furthermore, it turns out that even minor hadoop releases are not ABI 
> compatible.
> Rebuilding HBase 2.1 with -Dhadoop.profile=3.0, which uses Hadoop 3.0.3, and 
> then building Phoenix with Hadoop 3.1.3 will result in the usual 
> Class<->Interface errors.
> While building Hbase 2.1 with -Dhadoop.profile=3.0 -Dhadoop.version=3.1.3 
> seems to resolve this, I think that sticiking with same Hadoop minor version 
> that HBase defaults to in each profile will be simpler.



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to