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