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/08 23:37:35 UTC

svn commit: r961952 - in /cassandra/trunk: ./ src/java/org/apache/cassandra/avro/ src/java/org/apache/cassandra/service/ src/java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/utils/

Author: jbellis
Date: Thu Jul  8 21:37:35 2010
New Revision: 961952

URL: http://svn.apache.org/viewvc?rev=961952&view=rev
Log:
log cassandra and thrift versions at startup.  patch by mdennis; reviewed by jbellis for CASSANDRA-972

Modified:
    cassandra/trunk/build.xml
    cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java
    cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
    cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
    cassandra/trunk/src/java/org/apache/cassandra/utils/FBUtilities.java

Modified: cassandra/trunk/build.xml
URL: http://svn.apache.org/viewvc/cassandra/trunk/build.xml?rev=961952&r1=961951&r2=961952&view=diff
==============================================================================
--- cassandra/trunk/build.xml (original)
+++ cassandra/trunk/build.xml Thu Jul  8 21:37:35 2010
@@ -45,7 +45,11 @@
     <property name="test.unit.src" value="${test.dir}/unit"/>
     <property name="test.long.src" value="${test.dir}/long"/>
     <property name="dist.dir" value="${build.dir}/dist"/>
-    <property name="version" value="0.6.3"/>
+    <property name="base.version" value="0.7.0"/>
+    <condition property="version" value="${base.version}">
+      <isset property="release"/>
+    </condition>
+    <property name="version" value="${base.version}-SNAPSHOT"/>
     <property name="final.name" value="${ant.project.name}-${version}"/>
     <property name="ivy.version" value="2.1.0" />
     <property name="ivy.url"
@@ -234,6 +238,14 @@
       </exec>
     </target>
 
+    <!-- create properties file with C version -->
+    <target name="createVersionPropFile"> 
+      <taskdef name="propertyfile" classname="org.apache.tools.ant.taskdefs.optional.PropertyFile"/>
+      <propertyfile file="${build.classes}/org/apache/cassandra/config/version.properties">
+	<entry key="CassandraVersion" value="${version}"/>
+      </propertyfile>
+    </target>
+
     <!--
 	The build target builds all the .class files
     -->
@@ -252,8 +264,10 @@
             <classpath refid="cassandra.classpath"/>
         </javac>
 
-        <paranamer sourceDirectory="${interface.avro.dir}"
-               outputDirectory="${build.classes}"/>
+	<paranamer sourceDirectory="${interface.avro.dir}"
+		   outputDirectory="${build.classes}"/>
+
+	<antcall target="createVersionPropFile"/>
     </target>
 
     <!--

Modified: cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java?rev=961952&r1=961951&r2=961952&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/avro/CassandraDaemon.java Thu Jul  8 21:37:35 2010
@@ -127,7 +127,7 @@ public class CassandraDaemon extends org
             logger.debug(String.format("Binding avro service to %s:%s", listenAddr, listenPort));
         SpecificResponder responder = new SpecificResponder(Cassandra.class, new CassandraServer());
         
-        logger.info("Cassandra starting up...");
+        logger.info("Listening for avro clients...");
         Mx4jTool.maybeLoad();
         // FIXME: This isn't actually binding to listenAddr (it should).
         server = new HttpServer(responder, listenPort);

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=961952&r1=961951&r2=961952&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  8 21:37:35 2010
@@ -62,6 +62,7 @@ import org.apache.cassandra.net.Messagin
 import org.apache.cassandra.net.ResponseVerbHandler;
 import org.apache.cassandra.service.AntiEntropyService.TreeRequestVerbHandler;
 import org.apache.cassandra.streaming.*;
+import org.apache.cassandra.thrift.Constants;
 import org.apache.cassandra.thrift.UnavailableException;
 import org.apache.cassandra.utils.FBUtilities;
 import org.apache.cassandra.utils.WrappedRunnable;
@@ -330,6 +331,9 @@ public class StorageService implements I
 
     public synchronized void initServer() throws IOException
     {
+        logger_.info("Cassandra version: " + FBUtilities.getCassandraVersionString());
+        logger_.info("Thrift API version: " + Constants.VERSION);
+
         if (initialized)
         {
             if (isClientMode)

Modified: cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java?rev=961952&r1=961951&r2=961952&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/thrift/CassandraDaemon.java Thu Jul  8 21:37:35 2010
@@ -202,7 +202,7 @@ public class CassandraDaemon extends org
     /** hook for JSVC */
     public void start()
     {
-        logger.info("Cassandra starting up...");
+        logger.info("Listening for thrift clients...");
         Mx4jTool.maybeLoad();
         serverEngine.serve();
     }

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=961952&r1=961951&r2=961952&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  8 21:37:35 2010
@@ -18,10 +18,7 @@
 
 package org.apache.cassandra.utils;
 
-import java.io.DataInput;
-import java.io.DataOutput;
-import java.io.File;
-import java.io.IOException;
+import java.io.*;
 import java.math.BigInteger;
 import java.net.InetAddress;
 import java.net.URL;
@@ -30,10 +27,7 @@ import java.nio.ByteBuffer;
 import java.nio.charset.CharacterCodingException;
 import java.nio.charset.CharsetDecoder;
 import java.security.MessageDigest;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.List;
+import java.util.*;
 import java.util.concurrent.atomic.AtomicInteger;
 import java.util.concurrent.atomic.AtomicLong;
 import java.util.concurrent.atomic.AtomicReference;
@@ -512,6 +506,21 @@ public class FBUtilities
         return scpurl.getFile();
     }
 
+    public static String getCassandraVersionString()
+    {
+        try
+        {
+            InputStream in = ClassLoader.getSystemClassLoader().getResourceAsStream("org/apache/cassandra/config/version.properties");
+            Properties props = new Properties();
+            props.load(in);
+            return props.getProperty("CassandraVersion");
+        }
+        catch (IOException ioe)
+        {
+            throw new IOError(ioe);
+        }
+    }
+
     public static long timestampMicros()
     {
         // we use microsecond resolution for compatibility with other client libraries, even though