Author: jbellis
Date: Tue Mar 16 23:34:16 2010
New Revision: 924050

URL: http://svn.apache.org/viewvc?rev=924050&view=rev
Log:
merge from 0.6

Modified:
    cassandra/trunk/   (props changed)
    cassandra/trunk/CHANGES.txt
    cassandra/trunk/bin/cassandra.bat
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
    cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java
    cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
    cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
    cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java

Propchange: cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 16 23:34:16 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6:922689-923409
+/cassandra/branches/cassandra-0.6:922689-924049
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350
 /incubator/cassandra/branches/cassandra-0.5:888872-915439

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=924050&r1=924049&r2=924050&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Tue Mar 16 23:34:16 2010
@@ -35,6 +35,8 @@ dev
  * track row stats per CF at compaction time (CASSANDRA-870)
  * disallow CommitLogDirectory matching a DataFileDirectory (CASSANDRA-888)
  * default key cache size is 200k entries, changed from 10% (CASSANDRA-863)
+ * add -Dcassandra-foreground=yes to cassandra.bat
+ * exit if cluster name is changed unexpectedly (CASSANDRA-769)
 
 
 0.6.0-beta1/beta2

Modified: cassandra/trunk/bin/cassandra.bat
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/bin/cassandra.bat?rev=924050&r1=924049&r2=924050&view=diff
==============================================================================
--- cassandra/trunk/bin/cassandra.bat (original)
+++ cassandra/trunk/bin/cassandra.bat Tue Mar 16 23:34:16 2010
@@ -59,7 +59,7 @@ goto :eof
 :okClasspath
 REM Include the build\classes directory so it works in development
 set CASSANDRA_CLASSPATH=%CLASSPATH%;%CASSANDRA_HOME%\build\classes
-set CASSANDRA_PARAMS=-Dcassandra -Dstorage-config="%CASSANDRA_CONF%"
+set CASSANDRA_PARAMS=-Dcassandra -Dstorage-config="%CASSANDRA_CONF%" 
-Dcassandra-foreground=yes
 goto runDaemon
 
 :runDaemon

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 16 23:34:16 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-923409
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-924049
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Cassandra.java:888872-903502

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 16 23:34:16 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-923409
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-924049
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Column.java:888872-903502

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 16 23:34:16 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-923409
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-924049
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:888872-903502

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 16 23:34:16 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-923409
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-924049
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:888872-903502

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Tue Mar 16 23:34:16 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-923409
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-924049
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:888872-903502

Modified: cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java?rev=924050&r1=924049&r2=924050&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/SystemTable.java Tue Mar 
16 23:34:16 2010
@@ -54,6 +54,7 @@ public class SystemTable
     private static final byte[] BOOTSTRAP = utf8("B");
     private static final byte[] TOKEN = utf8("Token");
     private static final byte[] GENERATION = utf8("Generation");
+    private static final byte[] CLUSTERNAME = utf8("ClusterName");
     private static StorageMetadata metadata;
 
     private static byte[] utf8(String str)
@@ -128,6 +129,7 @@ public class SystemTable
         SortedSet<byte[]> columns = new TreeSet<byte[]>(new BytesType());
         columns.add(TOKEN);
         columns.add(GENERATION);
+        columns.add(CLUSTERNAME);
         QueryFilter filter = new NamesQueryFilter(LOCATION_KEY, new 
QueryPath(STATUS_CF), columns);
         ColumnFamily cf = 
table.getColumnFamilyStore(STATUS_CF).getColumnFamily(filter);
 
@@ -147,13 +149,16 @@ public class SystemTable
             // but it's as close as sanely possible
             int generation = (int) (System.currentTimeMillis() / 1000);
 
+            logger.info("Saved ClusterName not found. Using " + 
DatabaseDescriptor.getClusterName());
+
             RowMutation rm = new RowMutation(Table.SYSTEM_TABLE, LOCATION_KEY);
             cf = ColumnFamily.create(Table.SYSTEM_TABLE, 
SystemTable.STATUS_CF);
             cf.addColumn(new Column(TOKEN, 
p.getTokenFactory().toByteArray(token)));
             cf.addColumn(new Column(GENERATION, 
FBUtilities.toByteArray(generation)));
+            cf.addColumn(new Column(CLUSTERNAME, 
DatabaseDescriptor.getClusterName().getBytes()));
             rm.add(cf);
             rm.apply();
-            metadata = new StorageMetadata(token, generation);
+            metadata = new StorageMetadata(token, generation, 
DatabaseDescriptor.getClusterName().getBytes());
             return metadata;
         }
 
@@ -168,14 +173,29 @@ public class SystemTable
         IColumn generation = cf.getColumn(GENERATION);
         assert generation != null : cf;
         int gen = Math.max(FBUtilities.byteArrayToInt(generation.value()) + 1, 
(int) (System.currentTimeMillis() / 1000));
-        
+
+        IColumn cluster = cf.getColumn(CLUSTERNAME);
+
         RowMutation rm = new RowMutation(Table.SYSTEM_TABLE, LOCATION_KEY);
         cf = ColumnFamily.create(Table.SYSTEM_TABLE, SystemTable.STATUS_CF);
         Column generation2 = new Column(GENERATION, 
FBUtilities.toByteArray(gen), generation.timestamp() + 1);
         cf.addColumn(generation2);
+        byte[] cname;
+        if (cluster != null)
+        {
+            logger.info("Saved ClusterName found: " + new 
String(cluster.value()));
+            cname = cluster.value();
+        }
+        else
+        {
+            Column clustername = new Column(CLUSTERNAME, 
DatabaseDescriptor.getClusterName().getBytes());
+            cf.addColumn(clustername);
+            cname = DatabaseDescriptor.getClusterName().getBytes();
+            logger.info("Saved ClusterName not found. Using " + 
DatabaseDescriptor.getClusterName());
+        }
         rm.add(cf);
         rm.apply();
-        metadata = new StorageMetadata(token, gen);
+        metadata = new StorageMetadata(token, gen, cname);
         return metadata;
     }
 
@@ -247,11 +267,13 @@ public class SystemTable
     {
         private Token token;
         private int generation;
+        private byte[] cluster;
 
-        StorageMetadata(Token storageId, int generation)
+        StorageMetadata(Token storageId, int generation, byte[] clustername)
         {
             token = storageId;
             this.generation = generation;
+            cluster = clustername;
         }
 
         public Token getToken()
@@ -268,5 +290,10 @@ public class SystemTable
         {
             return generation;
         }
+
+        public byte[] getClusterName()
+        {
+            return cluster;
+        }
     }
 }

Modified: cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java?rev=924050&r1=924049&r2=924050&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java Tue Mar 16 
23:34:16 2010
@@ -892,6 +892,10 @@ public class Gossiper implements IFailur
             {
                 Gossiper.instance.join(from);
             }
+            else
+            {
+                logger_.warn("ClusterName mismatch from " + from + " " + 
joinMessage.clusterId_  + "!=" + DatabaseDescriptor.getClusterName());
+            }
         }
     }
 
@@ -913,7 +917,10 @@ public class Gossiper implements IFailur
                 GossipDigestSynMessage gDigestMessage = 
GossipDigestSynMessage.serializer().deserialize(dis);
                 /* If the message is from a different cluster throw it away. */
                 if ( 
!gDigestMessage.clusterId_.equals(DatabaseDescriptor.getClusterName()) )
+                {
+                    logger_.warn("ClusterName mismatch from " + from + " " + 
gDigestMessage.clusterId_  + "!=" + DatabaseDescriptor.getClusterName());
                     return;
+                }
 
                 List<GossipDigest> gDigestList = 
gDigestMessage.getGossipDigests();
                 /* Notify the Failure Detector */

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=924050&r1=924049&r2=924050&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java 
Tue Mar 16 23:34:16 2010
@@ -303,6 +303,15 @@ public class StorageService implements I
         initialized = true;
         isClientMode = false;
         storageMetadata_ = SystemTable.initMetadata();
+
+        // be certain that the recorded clustername matches what the user 
specified
+        if 
(!(Arrays.equals(storageMetadata_.getClusterName(),DatabaseDescriptor.getClusterName().getBytes())))
+        {
+            logger_.error("ClusterName mismatch: " + new 
String(storageMetadata_.getClusterName()) + " != " +
+                    DatabaseDescriptor.getClusterName());
+            System.exit(3);
+        }
+
         DatabaseDescriptor.createAllDirectories();
         GCInspector.instance.start();
         logger_.info("Starting up server gossip");

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=924050&r1=924049&r2=924050&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java Tue Mar 16 
23:34:16 2010
@@ -356,6 +356,10 @@ public class NodeCmd {
                     outs.println("\t\tRow cache: disabled");
                 }
 
+                outs.println("\t\tCompacted row minimum size: " + 
cfstore.getMinRowCompactedSize());
+                outs.println("\t\tCompacted row maximum size: " + 
cfstore.getMaxRowCompactedSize());
+                outs.println("\t\tCompacted row mean size: " + 
cfstore.getMeanRowCompactedSize());
+
                 outs.println("");
             }
             outs.println("----------------");


Reply via email to