HBase
  1. HBase
  2. HBASE-3517

Store build version in hbase-default and verify at runtime

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Blocker Blocker
    • Resolution: Fixed
    • Affects Version/s: 0.90.1
    • Fix Version/s: 0.90.1
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      This is a second attempt at HBASE-3470 (now reverted) which didn't work properly at MR job submission time since MR unjars the job jar into /tmp when submitting.

      This new JIRA will store the hbase version inside hbase-default, and at runtime verify that the hbase-default matches the version of the code.

      1. hbase-3517.txt
        3 kB
        Todd Lipcon
      2. hbase-3517.txt
        3 kB
        Todd Lipcon

        Issue Links

          Activity

          Transition Time In Source Status Execution Times Last Executer Last Execution Date
          Open Open Resolved Resolved
          19h 13m 1 Todd Lipcon 09/Feb/11 19:16
          Resolved Resolved Closed Closed
          1744d 17h 25m 1 Lars Francke 20/Nov/15 12:42
          Lars Francke made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Hide
          Lars Francke added a comment -

          This issue was closed as part of a bulk closing operation on 2015-11-20. All issues that have been resolved and where all fixVersions have been released have been closed (following discussions on the mailing list).

          Show
          Lars Francke added a comment - This issue was closed as part of a bulk closing operation on 2015-11-20. All issues that have been resolved and where all fixVersions have been released have been closed (following discussions on the mailing list).
          Hide
          Hudson added a comment -

          Integrated in HBase-TRUNK #1740 (See https://hudson.apache.org/hudson/job/HBase-TRUNK/1740/)
          HBASE-3517. Store build version in hbase-default.xml and verify at runtime

          Show
          Hudson added a comment - Integrated in HBase-TRUNK #1740 (See https://hudson.apache.org/hudson/job/HBase-TRUNK/1740/ ) HBASE-3517 . Store build version in hbase-default.xml and verify at runtime
          Todd Lipcon made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Hadoop Flags [Reviewed]
          Resolution Fixed [ 1 ]
          Todd Lipcon made changes -
          Attachment hbase-3517.txt [ 12470705 ]
          Hide
          Todd Lipcon added a comment -

          Updated patch also excludes this option from docs, since it's a private implementation detail and it looked ugly in the docs since the substitution didn't get made.

          Show
          Todd Lipcon added a comment - Updated patch also excludes this option from docs, since it's a private implementation detail and it looked ugly in the docs since the substitution didn't get made.
          Hide
          stack added a comment -

          OK. If it works, +1.

          Show
          stack added a comment - OK. If it works, +1.
          Todd Lipcon made changes -
          Summary HBASE-3470 breaks ability to submit MR jobs from hbase jar Store build version in hbase-default and verify at runtime
          Description Since Hadoop unjars the job jar and puts it on the classpath, you get an error like this:

          Exception in thread "main" java.lang.RuntimeException: hbase-defaults.xml is being loaded from file:/mnt/hadoop/hadoop-unjar1005964575221584670/hbase-default.xml rather than the HBase JAR. This is dangerous since you may pick up defaults from a previously installed version of HBase. Please remove hbase-default.xml from your configuration directory.
          This is a second attempt at HBASE-3470 (now reverted) which didn't work properly at MR job submission time since MR unjars the job jar into /tmp when submitting.

          This new JIRA will store the hbase version inside hbase-default, and at runtime verify that the hbase-default matches the version of the code.
          Hide
          Todd Lipcon added a comment -

          Where we putting hbase-default.xml into 'target'?

          Maven magic - this "phase" runs after the resources are copied, or something. I don't entirely understand but appears to work. I'll double check once more before commit that it works from a clean build.

          Show
          Todd Lipcon added a comment - Where we putting hbase-default.xml into 'target'? Maven magic - this "phase" runs after the resources are copied, or something. I don't entirely understand but appears to work. I'll double check once more before commit that it works from a clean build.
          Hide
          stack added a comment -

          Does this work?

          +                <echo>Replace in ${project.build.outputDirectory}/hbase-default.xml</echo>
          +                <replace file="${project.build.outputDirectory}/hbase-default.xml"
          +                  token="@@@VERSION@@@" value="${project.version}" />
          

          Where we putting hbase-default.xml into 'target'?

          If it works, +1

          Show
          stack added a comment - Does this work? + <echo>Replace in ${project.build.outputDirectory}/hbase- default .xml</echo> + <replace file= "${project.build.outputDirectory}/hbase- default .xml" + token= "@@@VERSION@@@" value= "${project.version}" /> Where we putting hbase-default.xml into 'target'? If it works, +1
          Hide
          Hudson added a comment -

          Integrated in HBase-TRUNK #1739 (See https://hudson.apache.org/hudson/job/HBase-TRUNK/1739/)
          Revert HBASE-3470 since it breaks job submission (HBASE-3517)

          Show
          Hudson added a comment - Integrated in HBase-TRUNK #1739 (See https://hudson.apache.org/hudson/job/HBase-TRUNK/1739/ ) Revert HBASE-3470 since it breaks job submission ( HBASE-3517 )
          Todd Lipcon made changes -
          Attachment hbase-3517.txt [ 12470645 ]
          Hide
          Todd Lipcon added a comment -

          Something like this, maybe?

          Show
          Todd Lipcon added a comment - Something like this, maybe?
          Todd Lipcon made changes -
          Field Original Value New Value
          Link This issue is broken by HBASE-3470 [ HBASE-3470 ]
          Todd Lipcon created issue -

            People

            • Assignee:
              Todd Lipcon
              Reporter:
              Todd Lipcon
            • Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development