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/01/13 20:13:40 UTC
svn commit: r898893 - in /incubator/cassandra/trunk:
src/java/org/apache/cassandra/config/DatabaseDescriptor.java
src/java/org/apache/cassandra/db/ColumnFamilyStore.java
test/conf/storage-conf.xml
Author: jbellis
Date: Wed Jan 13 19:13:39 2010
New Revision: 898893
URL: http://svn.apache.org/viewvc?rev=898893&view=rev
Log:
fix enabling/disabling row cache.
patch by jbellis; reviewed by goffinet for CASSANDRA-689
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
incubator/cassandra/trunk/test/conf/storage-conf.xml
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java?rev=898893&r1=898892&r2=898893&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/config/DatabaseDescriptor.java Wed Jan 13 19:13:39 2010
@@ -965,7 +965,7 @@
public static double getRowsCachedFraction(String tableName, String columnFamilyName)
{
Double v = tableRowsCachedFractions_.get(Pair.create(tableName, columnFamilyName));
- return v == null ? 0.01 : v;
+ return v == null ? 0 : v;
}
private static class ConfigurationException extends Exception
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=898893&r1=898892&r2=898893&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/ColumnFamilyStore.java Wed Jan 13 19:13:39 2010
@@ -186,11 +186,13 @@
ssTables_ = new SSTableTracker(sstables);
double v = DatabaseDescriptor.getRowsCachedFraction(table, columnFamilyName);
- int cacheSize = (int)(v * SSTableReader.estimatedKeys(columnFamilyName));
- if (logger_.isDebugEnabled())
- logger_.debug("cache size for " + columnFamilyName + " is " + cacheSize);
- if (cacheSize > 0)
+ if (v > 0)
+ {
+ int cacheSize = Math.max(1, (int)(v * SSTableReader.estimatedKeys(columnFamilyName)));
+ if (logger_.isDebugEnabled())
+ logger_.debug("enabling row cache for " + columnFamilyName + " with size " + cacheSize);
rowCache = new InstrumentedCache<String, ColumnFamily>(table, columnFamilyName + "RowCache", cacheSize);
+ }
}
public static ColumnFamilyStore createColumnFamilyStore(String table, String columnFamily) throws IOException
@@ -803,7 +805,11 @@
else
{
cf = getCachedRow(filter);
+ if (cf == null)
+ return null;
sc = (SuperColumn)cf.getColumn(filter.path.superColumnName);
+ if (sc == null)
+ return null;
}
SuperColumn scFiltered = filter.filterSuperColumn(sc, gcBefore);
Modified: incubator/cassandra/trunk/test/conf/storage-conf.xml
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/test/conf/storage-conf.xml?rev=898893&r1=898892&r2=898893&view=diff
==============================================================================
--- incubator/cassandra/trunk/test/conf/storage-conf.xml (original)
+++ incubator/cassandra/trunk/test/conf/storage-conf.xml Wed Jan 13 19:13:39 2010
@@ -48,7 +48,7 @@
<ColumnFamily Name="Standard2"/>
<ColumnFamily CompareWith="LongType" Name="StandardLong1"/>
<ColumnFamily CompareWith="LongType" Name="StandardLong2"/>
- <ColumnFamily ColumnType="Super" CompareSubcolumnsWith="LongType" Name="Super1"/>
+ <ColumnFamily ColumnType="Super" CompareSubcolumnsWith="LongType" Name="Super1" RowsCachedFraction="0.1" KeysCachedFraction="0"/>
<ColumnFamily ColumnType="Super" CompareSubcolumnsWith="LongType" Name="Super2"/>
<ColumnFamily ColumnType="Super" CompareSubcolumnsWith="LongType" Name="Super3"/>
<ColumnFamily ColumnType="Super" CompareSubcolumnsWith="UTF8Type" Name="Super4"/>