Author: jbellis
Date: Mon May 17 19:39:22 2010
New Revision: 945329

URL: http://svn.apache.org/viewvc?rev=945329&view=rev
Log:
merge from 0.6

Modified:
    cassandra/trunk/   (props changed)
    cassandra/trunk/CHANGES.txt
    cassandra/trunk/interface/cassandra.thrift
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
   (props changed)
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
   (props changed)
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
   (props changed)
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
   (props changed)
    
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
   (props changed)
    cassandra/trunk/src/java/org/apache/cassandra/cache/InstrumentedCache.java
    cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableTracker.java

Propchange: cassandra/trunk/
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 17 19:39:22 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6:922689-944927
+/cassandra/branches/cassandra-0.6:922689-945318
 /incubator/cassandra/branches/cassandra-0.3:774578-796573
 /incubator/cassandra/branches/cassandra-0.4:810145-834239,834349-834350
 /incubator/cassandra/branches/cassandra-0.5:888872-915439

Modified: cassandra/trunk/CHANGES.txt
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/CHANGES.txt?rev=945329&r1=945328&r2=945329&view=diff
==============================================================================
--- cassandra/trunk/CHANGES.txt (original)
+++ cassandra/trunk/CHANGES.txt Mon May 17 19:39:22 2010
@@ -45,6 +45,8 @@ dev
    finished (CASSANDRA-1076)
  * added Collections.shuffle(splits) before returning the splits in 
    ColumnFamilyInputFormat (CASSANDRA-1096)
+ * do not recalculate cache capacity post-compaction if it's been manually 
+   modified (CASSANDRA-1079)
 
 
 0.6.1

Modified: cassandra/trunk/interface/cassandra.thrift
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/interface/cassandra.thrift?rev=945329&r1=945328&r2=945329&view=diff
==============================================================================
--- cassandra/trunk/interface/cassandra.thrift (original)
+++ cassandra/trunk/interface/cassandra.thrift Mon May 17 19:39:22 2010
@@ -199,7 +199,7 @@ struct ColumnPath {
                   must a valid value under the rules of the Comparator defined 
for the given ColumnFamily.
     @param finish. The column name to stop the slice at. This attribute is not 
required, though there is no default value,
                    and can be safely set to an empty byte array to not stop 
until 'count' results are seen. Otherwise, it
-                   must also be a value value to the ColumnFamily Comparator.
+                   must also be a valid value to the ColumnFamily Comparator.
     @param reversed. Whether the results should be ordered in reversed order. 
Similar to ORDER BY blah DESC in SQL.
     @param count. How many keys to return. Similar to LIMIT 100 in SQL. May be 
arbitrarily large, but Thrift will
                   materialize the whole result into memory before returning it 
to the client, so be aware that you may

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 17 19:39:22 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-944927
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Cassandra.java:922689-945318
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/Cassandra.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Cassandra.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Cassandra.java:888872-903502

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 17 19:39:22 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-944927
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/Column.java:922689-945318
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/column_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/Column.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/Column.java:888872-903502

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 17 19:39:22 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-944927
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/InvalidRequestException.java:922689-945318
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/InvalidRequestException.java:888872-903502

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 17 19:39:22 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-944927
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/NotFoundException.java:922689-945318
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:774578-796573
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/NotFoundException.java:888872-903502

Propchange: 
cassandra/trunk/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java
------------------------------------------------------------------------------
--- svn:mergeinfo (original)
+++ svn:mergeinfo Mon May 17 19:39:22 2010
@@ -1,4 +1,4 @@
-/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-944927
+/cassandra/branches/cassandra-0.6/interface/thrift/gen-java/org/apache/cassandra/thrift/SuperColumn.java:922689-945318
 
/incubator/cassandra/branches/cassandra-0.3/interface/gen-java/org/apache/cassandra/service/superColumn_t.java:774578-792198
 
/incubator/cassandra/branches/cassandra-0.4/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:810145-834239,834349-834350
 
/incubator/cassandra/branches/cassandra-0.5/interface/gen-java/org/apache/cassandra/service/SuperColumn.java:888872-903502

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/cache/InstrumentedCache.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/cache/InstrumentedCache.java?rev=945329&r1=945328&r2=945329&view=diff
==============================================================================
--- cassandra/trunk/src/java/org/apache/cassandra/cache/InstrumentedCache.java 
(original)
+++ cassandra/trunk/src/java/org/apache/cassandra/cache/InstrumentedCache.java 
Mon May 17 19:39:22 2010
@@ -33,6 +33,7 @@ public class InstrumentedCache<K, V>
     private final AtomicLong hits = new AtomicLong(0);
     private final AtomicLong lastRequests = new AtomicLong(0);
     private final AtomicLong lastHits = new AtomicLong(0);
+    private volatile boolean capacityModified;
 
     public InstrumentedCache(int capacity)
     {
@@ -69,10 +70,16 @@ public class InstrumentedCache<K, V>
         return capacity;
     }
 
+    public boolean isCapacityModified()
+    {
+        return capacityModified;
+    }
+
     public void setCapacity(int capacity)
     {
         map.setCapacity(capacity);
         this.capacity = capacity;
+        capacityModified = true;
      }
 
     public int getSize()

Modified: 
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableTracker.java
URL: 
http://svn.apache.org/viewvc/cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableTracker.java?rev=945329&r1=945328&r2=945329&view=diff
==============================================================================
--- 
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableTracker.java 
(original)
+++ 
cassandra/trunk/src/java/org/apache/cassandra/io/sstable/SSTableTracker.java 
Mon May 17 19:39:22 2010
@@ -99,22 +99,28 @@ public class SSTableTracker implements I
     public synchronized void updateCacheSizes()
     {
         long keys = estimatedKeys();
-        
-        int keyCacheSize = DatabaseDescriptor.getKeysCachedFor(ksname, cfname, 
keys);
-        if (keyCacheSize != keyCache.getCapacity())
+
+        if (!keyCache.isCapacityModified())
         {
-            // update cache size for the new key volume
-            if (logger.isDebugEnabled())
-                logger.debug("key cache capacity for " + cfname + " is " + 
keyCacheSize);
-            keyCache.setCapacity(keyCacheSize);
+            int keyCacheSize = DatabaseDescriptor.getKeysCachedFor(ksname, 
cfname, keys);
+            if (keyCacheSize != keyCache.getCapacity())
+            {
+                // update cache size for the new key volume
+                if (logger.isDebugEnabled())
+                    logger.debug("key cache capacity for " + cfname + " is " + 
keyCacheSize);
+                keyCache.setCapacity(keyCacheSize);
+            }
         }
 
-        int rowCacheSize = DatabaseDescriptor.getRowsCachedFor(ksname, cfname, 
keys);
-        if (rowCacheSize != rowCache.getCapacity())
-        {   
-            if (logger.isDebugEnabled())
-                logger.debug("row cache capacity for " + cfname + " is " + 
rowCacheSize);
-            rowCache.setCapacity(rowCacheSize);
+        if (!rowCache.isCapacityModified())
+        {
+            int rowCacheSize = DatabaseDescriptor.getRowsCachedFor(ksname, 
cfname, keys);
+            if (rowCacheSize != rowCache.getCapacity())
+            {
+                if (logger.isDebugEnabled())
+                    logger.debug("row cache capacity for " + cfname + " is " + 
rowCacheSize);
+                rowCache.setCapacity(rowCacheSize);
+            }
         }
     }
 


Reply via email to