[
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)