Repository: hbase
Updated Branches:
  refs/heads/master 9fe945f45 -> 8a7326dd4


HBASE-11873 Hbase Version CLI enhancement (Ashish Singhi)


Project: http://git-wip-us.apache.org/repos/asf/hbase/repo
Commit: http://git-wip-us.apache.org/repos/asf/hbase/commit/8a7326dd
Tree: http://git-wip-us.apache.org/repos/asf/hbase/tree/8a7326dd
Diff: http://git-wip-us.apache.org/repos/asf/hbase/diff/8a7326dd

Branch: refs/heads/master
Commit: 8a7326dd45f8b41afd0268db14292d5d89b11ef6
Parents: 9fe945f
Author: stack <[email protected]>
Authored: Mon Sep 15 21:07:56 2014 -0700
Committer: stack <[email protected]>
Committed: Mon Sep 15 21:07:56 2014 -0700

----------------------------------------------------------------------
 .../org/apache/hadoop/hbase/VersionAnnotation.java    |  6 ++++++
 .../org/apache/hadoop/hbase/util/VersionInfo.java     | 13 +++++++++++--
 hbase-common/src/saveVersion.sh                       | 14 +++++++++++++-
 .../hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon   |  5 +++++
 .../hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon |  5 +++++
 5 files changed, 40 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/hbase/blob/8a7326dd/hbase-common/src/main/java/org/apache/hadoop/hbase/VersionAnnotation.java
----------------------------------------------------------------------
diff --git 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/VersionAnnotation.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/VersionAnnotation.java
index db2a1d5..34f0336 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/VersionAnnotation.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/VersionAnnotation.java
@@ -57,4 +57,10 @@ public @interface VersionAnnotation {
    * @return the revision number as a string (eg. "451451")
    */
   String revision();
+
+  /**
+   * Get a checksum of the source files from which HBase was compiled.
+   * @return a string that uniquely identifies the source
+   **/
+  String srcChecksum();
 }

http://git-wip-us.apache.org/repos/asf/hbase/blob/8a7326dd/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java
----------------------------------------------------------------------
diff --git 
a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java 
b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java
index 8921935..cd78eba 100644
--- a/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java
+++ b/hbase-common/src/main/java/org/apache/hadoop/hbase/util/VersionInfo.java
@@ -93,11 +93,20 @@ public class VersionInfo {
   static String[] versionReport() {
     return new String[] {
       "HBase " + getVersion(),
-      "Subversion " + getUrl() + " -r " + getRevision(),
-      "Compiled by " + getUser() + " on " + getDate()
+      "Source code repository " + getUrl() + " -r " + getRevision(),
+      "Compiled by " + getUser() + " on " + getDate(),
+      "From source with checksum " + getSrcChecksum()
       };
   }
 
+  /**
+   * Get the checksum of the source files from which Hadoop was compiled.
+   * @return a string that uniquely identifies the source
+   **/
+  public static String getSrcChecksum() {
+    return version != null ? version.srcChecksum() : "Unknown";
+  }
+
   public static void writeTo(PrintWriter out) {
     for (String line : versionReport()) {
       out.println(line);

http://git-wip-us.apache.org/repos/asf/hbase/blob/8a7326dd/hbase-common/src/saveVersion.sh
----------------------------------------------------------------------
diff --git a/hbase-common/src/saveVersion.sh b/hbase-common/src/saveVersion.sh
index 5edb8ea..890dc5a 100644
--- a/hbase-common/src/saveVersion.sh
+++ b/hbase-common/src/saveVersion.sh
@@ -41,6 +41,17 @@ else
   revision="Unknown"
   url="file://$cwd"
 fi
+which md5sum > /dev/null
+if [ "$?" != "0" ] ; then
+  which md5 > /dev/null
+  if [ "$?" != "0" ] ; then
+    srcChecksum="Unknown"
+  else
+    srcChecksum=`find hbase-*/src/main/ | grep -e "\.java" -e "\.proto" | 
LC_ALL=C sort | xargs md5 | md5 | cut -d ' ' -f 1`
+  fi
+else
+  srcChecksum=`find hbase-*/src/main/ | grep -e "\.java" -e "\.proto" | 
LC_ALL=C sort | xargs md5sum | md5sum | cut -d ' ' -f 1`
+fi
 popd
 
 mkdir -p "$outputDirectory/org/apache/hadoop/hbase"
@@ -49,7 +60,8 @@ cat 
>"$outputDirectory/org/apache/hadoop/hbase/package-info.java" <<EOF
  * Generated by src/saveVersion.sh
  */
 @VersionAnnotation(version="$version", revision="$revision",
-                         user="$user", date="$date", url="$url")
+                         user="$user", date="$date", url="$url",
+                         srcChecksum="$srcChecksum")
 package org.apache.hadoop.hbase;
 EOF
 

http://git-wip-us.apache.org/repos/asf/hbase/blob/8a7326dd/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
 
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
index ae3e12e..0e32588 100644
--- 
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
+++ 
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/master/MasterStatusTmpl.jamon
@@ -233,6 +233,11 @@ AssignmentManager assignmentManager = 
master.getAssignmentManager();
                     <td>When HBase version was compiled and by whom</td>
                 </tr>
                 <tr>
+                    <td>HBase Source Checksum</td>
+                    <td><% org.apache.hadoop.util.VersionInfo.getSrcChecksum() 
%></td>
+                    <td>HBase source MD5 checksum</td>
+                </tr>
+                <tr>
                     <td>Hadoop Version</td>
                     <td><% org.apache.hadoop.util.VersionInfo.getVersion() %>, 
r<% org.apache.hadoop.util.VersionInfo.getRevision() %></td>
                     <td>Hadoop version and revision</td>

http://git-wip-us.apache.org/repos/asf/hbase/blob/8a7326dd/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
----------------------------------------------------------------------
diff --git 
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
 
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
index 3fcac73..68b4b7d 100644
--- 
a/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
+++ 
b/hbase-server/src/main/jamon/org/apache/hadoop/hbase/tmpl/regionserver/RSStatusTmpl.jamon
@@ -141,6 +141,11 @@ org.apache.hadoop.hbase.zookeeper.MasterAddressTracker;
             <td>When HBase version was compiled and by whom</td>
         </tr>
         <tr>
+            <td>HBase Source Checksum</td>
+            <td><% org.apache.hadoop.util.VersionInfo.getSrcChecksum() %></td>
+            <td>HBase source MD5 checksum</td>
+        </tr>
+        <tr>
             <td>Zookeeper Quorum</td>
             <td><% regionServer.getZooKeeper().getQuorum() %></td>
             <td>Addresses of all registered ZK servers</td>

Reply via email to