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>
