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 2011/09/12 19:46:40 UTC

svn commit: r1169846 - in /cassandra/trunk: ./ contrib/ interface/thrift/gen-java/org/apache/cassandra/thrift/ src/java/org/apache/cassandra/config/ src/java/org/apache/cassandra/db/ src/java/org/apache/cassandra/gms/ src/java/org/apache/cassandra/net/...

Author: jbellis
Date: Mon Sep 12 17:46:39 2011
New Revision: 1169846

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

Modified:
    cassandra/trunk/   (props changed)
    cassandra/trunk/CHANGES.txt
    cassandra/trunk/NEWS.txt
    cassandra/trunk/contrib/   (props changed)
    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/config/CFMetaData.java
    cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
    cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
    cassandra/trunk/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
    cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
    cassandra/trunk/src/java/org/apache/cassandra/utils/SlabAllocator.java
    cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml

Propchange: cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 17:46:39 2011
@@ -1,11 +1,11 @@
 /cassandra/branches/cassandra-0.6:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7:1026516-1163782
 /cassandra/branches/cassandra-0.7.0:1053690-1055654
-/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8:1090934-1125013,1125019-1166782,1166809,1169823
 /cassandra/branches/cassandra-0.8.0:1125021-1130369
 /cassandra/branches/cassandra-0.8.1:1101014-1125018
-/cassandra/branches/cassandra-1.0:1167086-1167366
-/cassandra/branches/cassandra-1.0.0:1167104-1167229,1167232-1167365
+/cassandra/branches/cassandra-1.0:1167086-1169844
+/cassandra/branches/cassandra-1.0.0:1167104-1167229,1167232-1169843
 /cassandra/tags/cassandra-0.7.0-rc3:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3:774578-796573

Modified: cassandra/trunk/CHANGES.txt
URL: http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=1169846&r1=1169845&r2=1169846&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Mon Sep 12 17:46:39 2011
@@ -73,7 +73,8 @@
  * fix inconsistency of the CLI syntax when {} should be used instead of [{}]
    (CASSANDRA-3119)
  * rename CQL type names to match expected SQL behavior (CASSANDRA-3149, 3031)
- * Arena-based allocation for memtables (CASSANDRA-2252, 3162, 3163)
+ * Arena-based allocation for memtables (CASSANDRA-2252, 3162, 3163, 3168)
+ * Default RR chance to 0.1 (CASSANDRA-3169)
 
 
 0.8.6

Modified: cassandra/trunk/NEWS.txt
URL: http://svn.apache.org/viewvc/cassandra/trunk/NEWS.txt?rev=1169846&r1=1169845&r2=1169846&view=diff
==============================================================================
--- cassandra/trunk/NEWS.txt (original)
+++ cassandra/trunk/NEWS.txt Mon Sep 12 17:46:39 2011
@@ -11,6 +11,9 @@ Upgrading
     - CQL types bytea and date were renamed to blob and timestamp, respectively,
       to conform with SQL norms.  CQL type int is now a 4-byte int, not 8
       (which is still available as bigint).
+    - Cassandra 1.0 uses arena allocation to reduce old generation fragmentation.
+      This means there is a minimum overhead of 1MB per ColumnFamily plus
+      1MB per index.
 
 Features
 --------
@@ -29,12 +32,6 @@ Features
     - Ability to use multiple threads during a single compaction.  See 
       multithreaded_compaction in cassandra.yaml for more details.
     - Windows Service ("cassandra.bat install" to enable)
-    - Hinted Handoff has two major improvements:
-        - Hint replay is much more efficient thanks to a change in the data model
-        - Hints are created for all replicas that do not ack a write.  (Formerly,
-          only replicas known to be down when the write started were hinted.)
-      This means that running with read repair completely off is much more
-      viable than before.
     - A dead node may be replaced in a single step by starting a new node
       with -Dcassandra.replace_token=<token>.  More details can be found at
       http://wiki.apache.org/cassandra/Operations#Replacing_a_Dead_Node
@@ -49,10 +46,13 @@ New data types
 
 Other
 -----
-    - Hinted Handoff is substantially more robust, with the result that
-      when HH is enabled, repair only needs to be run if a node crashes.
-    - Because of this, read repair is disabled now by default on newly
-      created ColumnFamilies.
+    - Hinted Handoff has two major improvements:
+        - Hint replay is much more efficient thanks to a change in the data model
+        - Hints are created for all replicas that do not ack a write.  (Formerly,
+          only replicas known to be down when the write started were hinted.)
+      This means that running with read repair completely off is much more
+      viable than before, and the default read_repair_chance is reduced from 1.0
+      ("always repair") to 0.1 ("repair 10% of the time").
     - The old per-ColumnFamily memtable thresholds
       (memtable_throughput_in_mb, memtable_operations_in_millions,
       memtable_flush_after_mins) are ignored, in favor of the global

Propchange: cassandra/trunk/contrib/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 17:46:39 2011
@@ -1,11 +1,11 @@
 /cassandra/branches/cassandra-0.6/contrib:922689-1052356,1052358-1053452,1053454,1053456-1068009
 /cassandra/branches/cassandra-0.7/contrib:1026516-1163782
 /cassandra/branches/cassandra-0.7.0/contrib:1053690-1055654
-/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8/contrib:1090934-1125013,1125019-1166782,1166809,1169823
 /cassandra/branches/cassandra-0.8.0/contrib:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/contrib:1101014-1125018
-/cassandra/branches/cassandra-1.0/contrib:1167086-1167366
-/cassandra/branches/cassandra-1.0.0/contrib:1167104-1167229,1167232-1167365
+/cassandra/branches/cassandra-1.0/contrib:1167086-1169844
+/cassandra/branches/cassandra-1.0.0/contrib:1167104-1167229,1167232-1169843
 /cassandra/tags/cassandra-0.7.0-rc3/contrib:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/contrib:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3/contrib:774578-796573

Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 17:46:39 2011
@@ -1,11 +1,11 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1026516-1163782
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1090934-1125013,1125019-1166782,1166809,1169823
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1101014-1125018
-/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167086-1167366
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1167229,1167232-1167365
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167086-1169844
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1167104-1167229,1167232-1169843
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573

Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 17:46:39 2011
@@ -1,11 +1,11 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1026516-1163782
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1090934-1125013,1125019-1166782,1166809,1169823
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1101014-1125018
-/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167086-1167366
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1167229,1167232-1167365
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167086-1169844
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1167104-1167229,1167232-1169843
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198

Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 17:46:39 2011
@@ -1,11 +1,11 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1026516-1163782
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1090934-1125013,1125019-1166782,1166809,1169823
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1101014-1125018
-/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167086-1167366
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1167229,1167232-1167365
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167086-1169844
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1167104-1167229,1167232-1169843
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573

Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 17:46:39 2011
@@ -1,11 +1,11 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1026516-1163782
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1090934-1125013,1125019-1166782,1166809,1169823
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1101014-1125018
-/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167086-1167366
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1167229,1167232-1167365
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167086-1169844
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1167104-1167229,1167232-1169843
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573

Propchange: cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon Sep 12 17:46:39 2011
@@ -1,11 +1,11 @@
 /cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-1052356,1052358-1053452,1053454,1053456-1131291
 /cassandra/branches/cassandra-0.7/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1026516-1163782
 /cassandra/branches/cassandra-0.7.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1053690-1055654
-/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090934-1125013,1125019-1166782,1166809
+/cassandra/branches/cassandra-0.8/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1090934-1125013,1125019-1166782,1166809,1169823
 /cassandra/branches/cassandra-0.8.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1125021-1130369
 /cassandra/branches/cassandra-0.8.1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1101014-1125018
-/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167086-1167366
-/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1167229,1167232-1167365
+/cassandra/branches/cassandra-1.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167086-1169844
+/cassandra/branches/cassandra-1.0.0/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1167104-1167229,1167232-1169843
 /cassandra/tags/cassandra-0.7.0-rc3/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1051699-1053689
 /cassandra/tags/cassandra-0.8.0-rc1/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:1102511-1125020
 /incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198

Modified: cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java?rev=1169846&r1=1169845&r2=1169846&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/config/CFMetaData.java Mon Sep 12 17:46:39 2011
@@ -55,7 +55,7 @@ public final class CFMetaData
 
     public final static double DEFAULT_ROW_CACHE_SIZE = 0.0;
     public final static double DEFAULT_KEY_CACHE_SIZE = 200000;
-    public final static double DEFAULT_READ_REPAIR_CHANCE = 1.0;
+    public final static double DEFAULT_READ_REPAIR_CHANCE = 0.1;
     public final static boolean DEFAULT_REPLICATE_ON_WRITE = true;
     public final static int DEFAULT_ROW_CACHE_SAVE_PERIOD_IN_SECONDS = 0;
     public final static int DEFAULT_KEY_CACHE_SAVE_PERIOD_IN_SECONDS = 4 * 3600;

Modified: cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java?rev=1169846&r1=1169845&r2=1169846&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java Mon Sep 12 17:46:39 2011
@@ -90,7 +90,7 @@ public class Memtable
     {
         // 25% fudge factor on the base throughput * liveRatio calculation.  (Based on observed
         // pre-slabbing behavior -- not sure what accounts for this. May have changed with introduction of slabbing.)
-        return (long) (currentThroughput.get() * cfs.liveRatio * 1.25) + allocator.size();
+        return (long) (currentThroughput.get() * cfs.liveRatio * 1.25);
     }
 
     public long getSerializedSize()

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=1169846&r1=1169845&r2=1169846&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java Mon Sep 12 17:46:39 2011
@@ -213,11 +213,13 @@ public class Gossiper implements IFailur
     
     public void setVersion(InetAddress address, int version)
     {
+        logger.debug("Setting version {} for {}", version, address);
         versions.put(address, version);
     }
     
     public void resetVersion(InetAddress endpoint)
     {
+        logger.debug("Reseting version for {}", endpoint);
         versions.remove(endpoint);
     }
 

Modified: cassandra/trunk/src/java/org/apache/cassandra/net/IncomingTcpConnection.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/net/IncomingTcpConnection.java?rev=1169846&r1=1169845&r2=1169846&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/net/IncomingTcpConnection.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/net/IncomingTcpConnection.java Mon Sep 12 17:46:39 2011
@@ -159,6 +159,8 @@ public class IncomingTcpConnection exten
 
     private void close()
     {
+        // reset version here, since we set when starting an incoming socket
+        Gossiper.instance.resetVersion(socket.getInetAddress());
         try
         {
             socket.close();

Modified: cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java?rev=1169846&r1=1169845&r2=1169846&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/net/OutboundTcpConnection.java Mon Sep 12 17:46:39 2011
@@ -197,9 +197,6 @@ public class OutboundTcpConnection exten
             out = null;
             socket = null;
         }
-
-        // when we see the node again, try to connect at the most recent protocol we know about
-        Gossiper.instance.resetVersion(endpoint);
     }
 
     private Pair<Message, String> take()

Modified: cassandra/trunk/src/java/org/apache/cassandra/utils/SlabAllocator.java
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/utils/SlabAllocator.java?rev=1169846&r1=1169845&r2=1169846&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/utils/SlabAllocator.java (original)
+++ cassandra/trunk/src/java/org/apache/cassandra/utils/SlabAllocator.java Mon Sep 12 17:46:39 2011
@@ -29,6 +29,8 @@ import java.util.concurrent.atomic.Atomi
 import com.google.common.base.Preconditions;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.MapMaker;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 /**
  * The SlabAllocator is a bump-the-pointer allocator that allocates
@@ -46,24 +48,13 @@ import com.google.common.collect.MapMake
  */
 public class SlabAllocator extends Allocator
 {
+    private static Logger logger = LoggerFactory.getLogger(SlabAllocator.class);
+
     private final static int REGION_SIZE = 1024 * 1024;
     private final static int MAX_CLONED_SIZE = 128 * 1024; // bigger than this don't go in the region
 
     private final AtomicReference<Region> currentRegion = new AtomicReference<Region>();
-    private final Collection<Region> filledRegions = Collections.newSetFromMap(new MapMaker().weakKeys().<Region, Boolean>makeMap());
-
-    /** @return Total number of bytes allocated by this allocator. */
-    public long size()
-    {
-        Iterable<Region> regions = filledRegions;
-        if (currentRegion.get() != null)
-            regions = Iterables.concat(regions, Collections.<Region>singleton(currentRegion.get()));
-
-        long total = 0;
-        for (Region region : regions)
-            total += region.size;
-        return total;
-    }
+    private volatile int regionCount;
 
     public ByteBuffer allocate(int size)
     {
@@ -86,23 +77,11 @@ public class SlabAllocator extends Alloc
                 return cloned;
 
             // not enough space!
-            tryRetireRegion(region);
+            currentRegion.compareAndSet(region, null);
         }
     }
     
     /**
-     * Try to retire the current region if it is still <code>region</code>.
-     * Postcondition is that curRegion.get() != region
-     */
-    private void tryRetireRegion(Region region)
-    {
-        if (currentRegion.compareAndSet(region, null))
-        {
-            filledRegions.add(region);
-        }
-    }
-
-    /**
      * Get the current region, or, if there is no current region, allocate a new one
      */
     private Region getRegion()
@@ -122,6 +101,8 @@ public class SlabAllocator extends Alloc
             {
                 // we won race - now we need to actually do the expensive allocation step
                 region.init();
+                regionCount++;
+                logger.debug("{} regions now allocated in {}", regionCount, this);
                 return region;
             }
             // someone else won race - that's fine, we'll try to grab theirs

Modified: cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml
URL: http://svn.apache.org/viewvc/cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml?rev=1169846&r1=1169845&r2=1169846&view=diff
==============================================================================
--- cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml (original)
+++ cassandra/trunk/src/resources/org/apache/cassandra/cli/CliHelp.yaml Mon Sep 12 17:46:39 2011
@@ -546,22 +546,23 @@ commands:
         follower replicas. Accepts the values true and false.
 
         - row_cache_provider: The provider for the row cache to use for this
-        column family. Defaults to ConcurrentLinkedHashCacheProvider.  .
+        column family. 
 
         Supported values are:
             - ConcurrentLinkedHashCacheProvider
-            - SerializingCacheProvider
+            - SerializingCacheProvider (requires JNA)
 
         It is also valid to specify the fully-qualified class name to a class
         that implements org.apache.cassandra.cache.IRowCacheProvider.
 
-        ConcurrentLinkedHashCacheProvider provides the same features as the versions
-        prior to Cassandra v0.8. Row data is cached using the Java JVM heap.
-
-        SerializingCacheProvider serialises the contents of the row and
-        stores the data off the JVM Heap. This may reduce the GC pressure.
-        NOTE: This provider requires JNA.jar to be in the class path to
-        enable native methods.
+        row_cache_provider defaults to ConcurrentLinkedHashCacheProvider, 
+        but if you have JNA installed you should usually use
+        SerializingCacheProvider, which serialises the contents of the
+        row and stores it in native memory, i.e., off the JVM
+        Heap. Serialized rows take significantly less memory than
+        "live" rows in the JVM, so you can cache more rows in a given
+        memory footprint.  And storing the cache off-heap means you
+        can use smaller heap sizes, reducing the impact of GC pauses.
 
         - compression: Use compression for SSTable data files.
 
@@ -818,22 +819,23 @@ commands:
         follower replicas. Accepts the values true and false.
 
         - row_cache_provider: The provider for the row cache to use for this
-        column family. Defaults to ConcurrentLinkedHashCacheProvider.  .
+        column family. 
 
         Supported values are:
             - ConcurrentLinkedHashCacheProvider
-            - SerializingCacheProvider
+            - SerializingCacheProvider (requires JNA)
 
         It is also valid to specify the fully-qualified class name to a class
         that implements org.apache.cassandra.cache.IRowCacheProvider.
 
-        ConcurrentLinkedHashCacheProvider provides the same features as the versions
-        prior to Cassandra v0.8. Row data is cached using the Java JVM heap.
-
-        SerializingCacheProvider serialises the contents of the row and
-        stores the data off the JVM Heap. This may reduce the GC pressure.
-        NOTE: Thsi provider requires JNA.jar to be in the class path to
-        enable native methods.
+        row_cache_provider defaults to ConcurrentLinkedHashCacheProvider, 
+        but if you have JNA installed you should usually use
+        SerializingCacheProvider, which serialises the contents of the
+        row and stores it in native memory, i.e., off the JVM
+        Heap. Serialized rows take significantly less memory than
+        "live" rows in the JVM, so you can cache more rows in a given
+        memory footprint.  And storing the cache off-heap means you
+        can use smaller heap sizes, reducing the impact of GC pauses.
 
         - compression: Use compression for SSTable data files. Accepts the values true and false.
 
@@ -929,7 +931,7 @@ commands:
           Valid options are:
             - ascii
             - bytes: if used without arguments generates a zero length byte array
-            - int32
+            - int
             - integer
             - lexicaluuid: if used without arguments generates a new random uuid
             - long
@@ -999,7 +1001,7 @@ commands:
           Valid options are:
             - ascii
             - bytes: if used without arguments generates a zero length byte array
-            - int32
+            - int
             - integer
             - lexicaluuid: if used without arguments generates a new random uuid
             - long
@@ -1043,7 +1045,7 @@ commands:
            Supported values are:
             - ascii
             - bytes: if used without arguments generates a zero length byte array
-            - int32
+            - int
             - integer
             - lexicaluuid: if used without arguments generates a new random uuid
             - long
@@ -1148,7 +1150,7 @@ commands:
             - ascii
             - bytes
             - counterColumn (distributed counter column)
-            - int32
+            - int
             - integer (a generic variable-length integer type)
             - lexicalUUID
             - long