Author: jbellis
Date: Mon Mar 1 21:31:10 2010
New Revision: 917729
URL: http://svn.apache.org/viewvc?rev=917729&view=rev
Log:
add invalidateRowCache to CFSMbean.
patch by jbellis; reviewed by goffinet for CASSANDRA-761
Modified:
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cache/InstrumentedCache.java
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
Modified:
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cache/InstrumentedCache.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cache/InstrumentedCache.java?rev=917729&r1=917728&r2=917729&view=diff
==============================================================================
---
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cache/InstrumentedCache.java
(original)
+++
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/cache/InstrumentedCache.java
Mon Mar 1 21:31:10 2010
@@ -31,7 +31,8 @@
private final ConcurrentLinkedHashMap<K, V> map;
private final AtomicLong requests = new AtomicLong(0);
private final AtomicLong hits = new AtomicLong(0);
- long lastRequests, lastHits;
+ private final AtomicLong lastRequests = new AtomicLong(0);
+ private final AtomicLong lastHits = new AtomicLong(0);
public InstrumentedCache(int capacity)
{
@@ -95,12 +96,19 @@
long h = hits.get();
try
{
- return ((double)(h - lastHits)) / (r - lastRequests);
+ return ((double)(h - lastHits.get())) / (r - lastRequests.get());
}
finally
{
- lastRequests = r;
- lastHits = h;
+ lastRequests.set(r);
+ lastHits.set(h);
}
}
+
+ public void clear()
+ {
+ map.clear();
+ requests.set(0);
+ hits.set(0);
+ }
}
Modified:
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java?rev=917729&r1=917728&r2=917729&view=diff
==============================================================================
---
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
(original)
+++
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStore.java
Mon Mar 1 21:31:10 2010
@@ -1071,8 +1071,7 @@
void invalidateCachedRow(String key)
{
- if (ssTables_.getRowCache() != null)
- ssTables_.getRowCache().remove(key);
+ ssTables_.getRowCache().remove(key);
}
public void forceMajorCompaction()
@@ -1080,6 +1079,11 @@
CompactionManager.instance.submitMajor(this);
}
+ public void invalidateRowCache()
+ {
+ ssTables_.getRowCache().clear();
+ }
+
public static Iterable<ColumnFamilyStore> all()
{
Iterable<ColumnFamilyStore>[] stores = new
Iterable[DatabaseDescriptor.getTables().size()];
Modified:
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java?rev=917729&r1=917728&r2=917729&view=diff
==============================================================================
---
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
(original)
+++
incubator/cassandra/branches/cassandra-0.6/src/java/org/apache/cassandra/db/ColumnFamilyStoreMBean.java
Mon Mar 1 21:31:10 2010
@@ -113,4 +113,9 @@
* force a major compaction of this column family
*/
public void forceMajorCompaction();
+
+ /**
+ * invalidate the row cache; for use after bulk loading via BinaryMemtable
+ */
+ public void invalidateRowCache();
}