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