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()); }
