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


Reply via email to