Uploaded image for project: 'HBase'
  1. HBase
  2. HBASE-13887

Document 0.98 release build differences

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Won't Fix
    • None
    • None
    • documentation, website
    • None

    Description

      The build instructions in the online manual do not describe the extra steps we need to take to build 0.98. Add a section on this.

      A quick enumeration of the differences:

      1. Source assemblies will be missing the hbase-hadoop1-compat module. This should be fixed in the POM somehow. What I do now is untar the src tarball, cp -a the module over, then tar up the result. (It's a hack in a release script.)

      2. We must munge POMs for building hadoop1 and hadoop2 variants and then execute two builds pointing Maven at each munged POM. The generate-hadoop-X-poms script requires bash

      $ bash dev-support/generate-hadoopX-poms.sh $version $version-hadoop1
      $ bash dev-support/generate-hadoopX-poms.sh $version $version-hadoop2
      

      Build Hadoop 1

        $ mvn -f pom.xml.hadoop1 clean install -DskipTests -Prelease && \
            mvn -f pom.xml.hadoop1 install -DskipTests site assembly:single \
              -Prelease && \
            mvn -f pom.xml.hadoop1 deploy -DskipTests -Papache-release
        $ cp hbase-assembly/target/hbase*-bin.tar.gz $release_dir
      

      Build Hadoop 2

        $ mvn -f pom.xml.hadoop2 clean install -DskipTests -Prelease && \
            mvn -f pom.xml.hadoop2 install -DskipTests site assembly:single \
              -Prelease && \
            mvn -f pom.xml.hadoop2 deploy -DskipTests -Papache-release
        $ cp hbase-assembly/target/hbase*-bin.tar.gz $release_dir
      

      3. Current HEAD of 0.98 branch enforces a requirement that the release be built with a JDK no more recent than the compile language level. For 0.98, that is 1.6, therefore the ancient 6u45 JDK. This JDK suffers from JDK-6521495 so the following workaround is required in order to deploy artifacts to Apache's Nexus:
      3.a. Download https://www.bouncycastle.org/download/bcprov-jdk15on-152.jar and https://www.bouncycastle.org/download/bcprov-ext-jdk15on-152.jar into $JAVA_HOME/lib/ext.
      3.b. Edit $JAVA_HOME/lib/security/java.security and add the BouncyCastle provider as the first provider:

      security.provider.1=org.bouncycastle.jce.provider.BouncyCastleProvider
      

      Attachments

        Activity

          People

            Unassigned Unassigned
            apurtell Andrew Kyle Purtell
            Votes:
            0 Vote for this issue
            Watchers:
            4 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: