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