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/18 16:52:01 UTC
svn commit: r900437 - in
/incubator/cassandra/trunk/src/java/org/apache/cassandra/cache:
JMXAggregatingCache.java JMXAggregatingCacheMBean.java
Author: jbellis
Date: Mon Jan 18 15:52:00 2010
New Revision: 900437
URL: http://svn.apache.org/viewvc?rev=900437&view=rev
Log:
approximate capacity setting in key cache by adjusting each sstable cache by the desired ratio
patch by jbellis; reviewed by goffinet for CASSANDRA-688
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCache.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCacheMBean.java
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCache.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCache.java?rev=900437&r1=900436&r2=900437&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCache.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCache.java Mon Jan 18 15:52:00 2010
@@ -20,6 +20,15 @@
return capacity;
}
+ public void setCapacity(int capacity)
+ {
+ double ratio = capacity / getCapacity();
+ for (InstrumentedCache cache : caches)
+ {
+ cache.setCapacity(Math.max(1, (int)(cache.getCapacity() * ratio)));
+ }
+ }
+
public int getSize()
{
int size = 0;
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCacheMBean.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCacheMBean.java?rev=900437&r1=900436&r2=900437&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCacheMBean.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/cache/JMXAggregatingCacheMBean.java Mon Jan 18 15:52:00 2010
@@ -3,6 +3,7 @@
public interface JMXAggregatingCacheMBean
{
public int getCapacity();
+ public void setCapacity(int capacity);
public int getSize();
public double getHitRate();
}
\ No newline at end of file