Uploaded image for project: 'Phoenix'
  1. Phoenix
  2. PHOENIX-6333

Hbase versions older than 2.4.0 are incompatible with Hadoop 3.1.4

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 5.1.0
    • 5.1.0
    • core
    • None

    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 hadoop.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 hadoop.profile=3.0 hadoop.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, and more likely to be compatible with user environments.

      Attachments

        Issue Links

          Activity

            People

              stoty Istvan Toth
              stoty Istvan Toth
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: