You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by jb...@apache.org on 2010/07/15 21:40:20 UTC

svn commit: r964550 - in /cassandra/trunk/src/java/org/apache/cassandra: service/StorageService.java service/StorageServiceMBean.java tools/NodeCmd.java tools/NodeProbe.java utils/FBUtilities.java

Author: jbellis
Date: Thu Jul 15 19:40:19 2010
New Revision: 964550

URL: http://svn.apache.org/viewvc?rev=964550&view=rev
Log:
get cassandra release version via JMX.  patch by mdennis; reviewed by jbellis for CASSANDRA-1031

Modified:
    cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
    cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
    cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java
    cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java
    cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java

Modified: cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=964550&r1=964549&r2=964550&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java Thu Jul 15 19:40:19 2010
@@ -331,7 +331,7 @@ public class StorageService implements I
 
     public synchronized void initServer() throws IOException
     {
-        logger_.info("Cassandra version: " + FBUtilities.getCassandraVersionString());
+        logger_.info("Cassandra version: " + FBUtilities.getReleaseVersionString());
         logger_.info("Thrift API version: " + Constants.VERSION);
 
         if (initialized)
@@ -995,13 +995,18 @@ public class StorageService implements I
         return storageMetadata_.getToken();
     }
 
-    /* This methods belong to the MBean interface */
+    /* These methods belong to the MBean interface */
 
     public String getToken()
     {
         return getLocalToken().toString();
     }
 
+    public String getReleaseVersion()
+    {
+        return FBUtilities.getReleaseVersionString();
+    }
+
     public Set<String> getLeavingNodes()
     {
         return stringify(tokenMetadata_.getLeavingEndpoints());

Modified: cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java?rev=964550&r1=964549&r2=964550&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageServiceMBean.java Thu Jul 15 19:40:19 2010
@@ -73,6 +73,12 @@ public interface StorageServiceMBean
     public String getToken();
 
     /**
+     * Fetch a string representation of the Cassandra version.
+     * @return A string representation of the Cassandra version.
+     */
+    public String getReleaseVersion();
+
+    /**
      * Retrieve a map of range to end points that describe the ring topology
      * of a Cassandra cluster.
      *

Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=964550&r1=964549&r2=964550&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java Thu Jul 15 19:40:19 2010
@@ -75,7 +75,7 @@ public class NodeCmd {
     {
         HelpFormatter hf = new HelpFormatter();
         String header = String.format(
-                "%nAvailable commands: ring, info, cleanup, compact, cfstats, snapshot [snapshotname], clearsnapshot, " +
+                "%nAvailable commands: ring, info, version, cleanup, compact, cfstats, snapshot [snapshotname], clearsnapshot, " +
                 "tpstats, flush, drain, repair, decommission, move, loadbalance, removetoken, " +
                 "setcachecapacity <keyspace> <cfname> <keycachecapacity> <rowcachecapacity>, " +
                 "getcompactionthreshold, setcompactionthreshold [minthreshold] ([maxthreshold]), " +
@@ -189,6 +189,11 @@ public class NodeCmd {
         outs.println(String.format("%-17s: %.2f / %.2f", "Heap Memory (MB)", memUsed, memMax));
     }
 
+    public void printReleaseVersion(PrintStream outs)
+    {
+        outs.println("ReleaseVersion: " + probe.getReleaseVersion());
+    }
+
     public void printStreamInfo(final InetAddress addr, PrintStream outs)
     {
         outs.println(String.format("Mode: %s", probe.getOperationMode()));
@@ -556,6 +561,10 @@ public class NodeCmd {
             String otherHost = arguments.length > 1 ? arguments[1] : null;
             nodeCmd.printStreamInfo(otherHost == null ? null : InetAddress.getByName(otherHost), System.out);
         }
+        else if (cmdName.equals("version"))
+        {
+            nodeCmd.printReleaseVersion(System.out);
+        }
         else
         {
             System.err.println("Unrecognized command: " + cmdName + ".");

Modified: cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java?rev=964550&r1=964549&r2=964550&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/tools/NodeProbe.java Thu Jul 15 19:40:19 2010
@@ -237,7 +237,12 @@ public class NodeProbe
     {
         return ssProxy.getLoadString();
     }
-    
+
+    public String getReleaseVersion()
+    {
+        return ssProxy.getReleaseVersion();
+    }
+
     public int getCurrentGenerationNumber()
     {
         return ssProxy.getCurrentGenerationNumber();

Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java?rev=964550&r1=964549&r2=964550&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java Thu Jul 15 19:40:19 2010
@@ -25,7 +25,6 @@ import java.net.URL;
 import java.net.UnknownHostException;
 import java.nio.ByteBuffer;
 import java.nio.charset.CharacterCodingException;
-import java.nio.charset.CharsetDecoder;
 import java.security.MessageDigest;
 import java.util.*;
 import java.util.concurrent.ExecutionException;
@@ -508,7 +507,7 @@ public class FBUtilities
         return scpurl.getFile();
     }
 
-    public static String getCassandraVersionString()
+    public static String getReleaseVersionString()
     {
         try
         {