Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-20331 clean up shaded packaging for 2.1
  3. HBASE-20615

emphasize use of shaded client jars when they're present in an install

    XMLWordPrintableJSON

Details

    • Incompatible change, Reviewed
    • Hide
      <!-- markdown -->

      HBase's built-in scripts now rely on the downstream facing shaded artifacts where possible. In particular, of interest to downstream users, the `hbase classpath` and `hbase mapredcp` commands now return the relevant shaded client artifact and only those third-party jars needed to make use of them (e.g. slf4j-api, commons-logging, htrace, etc).

      Downstream users should note that by default the `hbase classpath` command will treat having `hadoop` on the shell's PATH as an implicit request to include the output of the `hadoop classpath` command in the returned classpath. This long-existing behavior can be opted out of by setting the environment variable `HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP` to the value "true". For example: `HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true" bin/hbase classpath`.
      Show
      <!-- markdown --> HBase's built-in scripts now rely on the downstream facing shaded artifacts where possible. In particular, of interest to downstream users, the `hbase classpath` and `hbase mapredcp` commands now return the relevant shaded client artifact and only those third-party jars needed to make use of them (e.g. slf4j-api, commons-logging, htrace, etc). Downstream users should note that by default the `hbase classpath` command will treat having `hadoop` on the shell's PATH as an implicit request to include the output of the `hadoop classpath` command in the returned classpath. This long-existing behavior can be opted out of by setting the environment variable `HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP` to the value "true". For example: `HBASE_DISABLE_HADOOP_CLASSPATH_LOOKUP="true" bin/hbase classpath`.

    Description

      Working through setting up an IT for our shaded artifacts in HBASE-20334 makes our lack of packaging seem like an oversight. While I could work around by pulling the shaded clients out of whatever build process built the convenience binary that we're trying to test, it seems v awkward.

      After reflecting on it more, it makes more sense to me for there to be a common place in the install that folks running jobs against the cluster can rely on. If they need to run without a full hbase install, that should still work fine via e.g. grabbing from the maven repo.

      Attachments

        1. HBASE-20615.0.patch
          84 kB
          Sean Busbey
        2. HBASE-20615.1.patch
          124 kB
          Sean Busbey
        3. HBASE-20615.2.patch
          125 kB
          Sean Busbey

        Issue Links

          Activity

            People

              busbey Sean Busbey
              busbey Sean Busbey
              Votes:
              0 Vote for this issue
              Watchers:
              7 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: