Author: brandonwilliams
Date: Wed Feb  9 23:45:18 2011
New Revision: 1069171

URL: http://svn.apache.org/viewvc?rev=1069171&view=rev
Log:
bound hints CF memtable throughput between 32M and 256M
Patch by Matthew Dennis, reviewed by brandonwilliams for CASSANDRA-2148

Modified:
    cassandra/branches/cassandra-0.7/CHANGES.txt
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/config/CFMetaData.java

Modified: cassandra/branches/cassandra-0.7/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/CHANGES.txt?rev=1069171&r1=1069170&r2=1069171&view=diff
==============================================================================
--- cassandra/branches/cassandra-0.7/CHANGES.txt (original)
+++ cassandra/branches/cassandra-0.7/CHANGES.txt Wed Feb  9 23:45:18 2011
@@ -55,6 +55,7 @@
  * page through large rows when exporting to JSON (CASSANDRA-2041)
  * add flush_largest_memtables_at and reduce_cache_sizes_at options
    (CASSANDRA-2142)
+ * bound hints CF throughput between 32M and 256M (CASSANDRA-2148)
 
 
 0.7.0-final

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/config/CFMetaData.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/config/CFMetaData.java?rev=1069171&r1=1069170&r2=1069171&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/config/CFMetaData.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/config/CFMetaData.java
 Wed Feb  9 23:45:18 2011
@@ -46,9 +46,11 @@ import org.apache.cassandra.utils.Pair;
 
 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 int DEFAULT_SYSTEM_MEMTABLE_THROUGHPUT_IN_MB = 8;
     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;
     public final static int DEFAULT_GC_GRACE_SECONDS = 864000;
@@ -64,13 +66,13 @@ public final class CFMetaData
     
     private static final BiMap<Pair<String, String>, Integer> cfIdMap = 
HashBiMap.create();
     
-    public static final CFMetaData StatusCf = 
newSystemTable(SystemTable.STATUS_CF, 0, "persistent metadata for the local 
node", BytesType.instance, null);
-    public static final CFMetaData HintsCf = 
newSystemTable(HintedHandOffManager.HINTS_CF, 1, "hinted handoff data", 
BytesType.instance, BytesType.instance);
-    public static final CFMetaData MigrationsCf = 
newSystemTable(Migration.MIGRATIONS_CF, 2, "individual schema mutations", 
TimeUUIDType.instance, null);
-    public static final CFMetaData SchemaCf = 
newSystemTable(Migration.SCHEMA_CF, 3, "current state of the schema", 
UTF8Type.instance, null);
-    public static final CFMetaData IndexCf = 
newSystemTable(SystemTable.INDEX_CF, 5, "indexes that have been completed", 
UTF8Type.instance, null);
+    public static final CFMetaData StatusCf = 
newSystemTable(SystemTable.STATUS_CF, 0, "persistent metadata for the local 
node", BytesType.instance, null, DEFAULT_SYSTEM_MEMTABLE_THROUGHPUT_IN_MB);
+    public static final CFMetaData HintsCf = 
newSystemTable(HintedHandOffManager.HINTS_CF, 1, "hinted handoff data", 
BytesType.instance, BytesType.instance, Math.min(256, Math.max(32, 
DEFAULT_MEMTABLE_THROUGHPUT_IN_MB / 2)));
+    public static final CFMetaData MigrationsCf = 
newSystemTable(Migration.MIGRATIONS_CF, 2, "individual schema mutations", 
TimeUUIDType.instance, null, DEFAULT_SYSTEM_MEMTABLE_THROUGHPUT_IN_MB);
+    public static final CFMetaData SchemaCf = 
newSystemTable(Migration.SCHEMA_CF, 3, "current state of the schema", 
UTF8Type.instance, null, DEFAULT_SYSTEM_MEMTABLE_THROUGHPUT_IN_MB);
+    public static final CFMetaData IndexCf = 
newSystemTable(SystemTable.INDEX_CF, 5, "indexes that have been completed", 
UTF8Type.instance, null, DEFAULT_SYSTEM_MEMTABLE_THROUGHPUT_IN_MB);
 
-    private static CFMetaData newSystemTable(String cfName, int cfId, String 
comment, AbstractType comparator, AbstractType subComparator)
+    private static CFMetaData newSystemTable(String cfName, int cfId, String 
comment, AbstractType comparator, AbstractType subComparator, int 
memtableThroughPutInMB)
     {
         return new CFMetaData(Table.SYSTEM_TABLE,
                               cfName,
@@ -88,8 +90,8 @@ public final class CFMetaData
                               DEFAULT_ROW_CACHE_SAVE_PERIOD_IN_SECONDS,
                               DEFAULT_KEY_CACHE_SAVE_PERIOD_IN_SECONDS,
                               DEFAULT_MEMTABLE_LIFETIME_IN_MINS,
-                              DEFAULT_MEMTABLE_THROUGHPUT_IN_MB,
-                              DEFAULT_MEMTABLE_OPERATIONS_IN_MILLIONS,
+                              memtableThroughPutInMB,
+                              sizeMemtableOperations(memtableThroughPutInMB),
                               cfId,
                               Collections.<ByteBuffer, 
ColumnDefinition>emptyMap());
     }


Reply via email to