Author: jbellis
Date: Fri Dec 11 04:25:00 2009
New Revision: 889500
URL: http://svn.apache.org/viewvc?rev=889500&view=rev
Log:
move size, count updates outside of synchronized block since they are already
atomic. patch by jbellis
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
URL:
http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java?rev=889500&r1=889499&r2=889500&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
(original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/Memtable.java
Fri Dec 11 04:25:00 2009
@@ -153,16 +153,19 @@
currentObjectCount_.addAndGet(columnFamily.getColumnCount());
return;
}
+
+ int oldSize, newSize;
+ int oldObjectCount, newObjectCount;
synchronized (keyLocks[Math.abs(key.hashCode() % keyLocks.length)])
{
- int oldSize = oldCf.size();
- int oldObjectCount = oldCf.getColumnCount();
+ oldSize = oldCf.size();
+ oldObjectCount = oldCf.getColumnCount();
oldCf.resolve(columnFamily);
- int newSize = oldCf.size();
- int newObjectCount = oldCf.getColumnCount();
- resolveSize(oldSize, newSize);
- resolveCount(oldObjectCount, newObjectCount);
+ newSize = oldCf.size();
+ newObjectCount = oldCf.getColumnCount();
}
+ resolveSize(oldSize, newSize);
+ resolveCount(oldObjectCount, newObjectCount);
}
// for debugging