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/02/10 17:25:19 UTC

svn commit: r908568 - in /incubator/cassandra/trunk/src/java/org/apache/cassandra: db/CompactionManager.java gms/GossipDigestSynMessage.java gms/Gossiper.java tools/NodeCmd.java utils/ExpiringMap.java

Author: jbellis
Date: Wed Feb 10 16:25:18 2010
New Revision: 908568

URL: http://svn.apache.org/viewvc?rev=908568&view=rev
Log:
replace map iteration via keys + value get w/ iteration over entryset.  patch by gabriele renzi; reviewed by Stu Hood and jbellis for CASSANDRA-773

Modified:
    incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/GossipDigestSynMessage.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java
    incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/ExpiringMap.java

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java?rev=908568&r1=908567&r2=908568&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/db/CompactionManager.java Wed Feb 10 16:25:18 2010
@@ -22,6 +22,7 @@
 import java.io.File;
 import java.lang.management.ManagementFactory;
 import java.util.*;
+import java.util.Map.Entry;
 import java.util.concurrent.Callable;
 import java.util.concurrent.Future;
 import javax.management.*;
@@ -450,9 +451,10 @@
             // look for a bucket containing similar-sized files:
             // group in the same bucket if it's w/in 50% of the average for this bucket,
             // or this file and the bucket are all considered "small" (less than `min`)
-            for (List<SSTableReader> bucket : buckets.keySet())
+            for (Entry<List<SSTableReader>, Long> entry : buckets.entrySet())
             {
-                long averageSize = buckets.get(bucket);
+                List<SSTableReader> bucket = entry.getKey();
+                long averageSize = entry.getValue();
                 if ((size > averageSize / 2 && size < 3 * averageSize / 2)
                     || (size < min && averageSize < min))
                 {

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/GossipDigestSynMessage.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/GossipDigestSynMessage.java?rev=908568&r1=908567&r2=908568&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/GossipDigestSynMessage.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/GossipDigestSynMessage.java Wed Feb 10 16:25:18 2010
@@ -22,6 +22,7 @@
 import java.io.DataOutputStream;
 import java.io.IOException;
 import java.util.*;
+import java.util.Map.Entry;
 
 import org.apache.cassandra.io.ICompactSerializer;
 import org.apache.cassandra.net.CompactEndPointSerializationHelper;
@@ -112,17 +113,17 @@
 class EndPointStatesSerializationHelper
 {
     private static final Logger logger_ = Logger.getLogger(EndPointStatesSerializationHelper.class);
-    
+
     static boolean serialize(Map<InetAddress, EndPointState> epStateMap, DataOutputStream dos) throws IOException
     {
         boolean bVal = true;
         int estimate = 0;                
         int size = epStateMap.size();
         dos.writeInt(size);
-    
-        Set<InetAddress> eps = epStateMap.keySet();
-        for( InetAddress ep : eps )
+
+        for (Entry<InetAddress, EndPointState> entry : epStateMap.entrySet())
         {
+            InetAddress ep = entry.getKey();
             if ( Gossiper.MAX_GOSSIP_PACKET_SIZE - dos.size() < estimate )
             {
                 logger_.info("@@@@ Breaking out to respect the MTU size in EPS. Estimate is " + estimate + " @@@@");
@@ -132,8 +133,7 @@
     
             int pre = dos.size();
             CompactEndPointSerializationHelper.serialize(ep, dos);
-            EndPointState epState = epStateMap.get(ep);            
-            EndPointState.serializer().serialize(epState, dos);
+            EndPointState.serializer().serialize(entry.getValue(), dos);
             int post = dos.size();
             estimate = post - pre;
         }

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java?rev=908568&r1=908567&r2=908568&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/gms/Gossiper.java Wed Feb 10 16:25:18 2010
@@ -20,6 +20,7 @@
 
 import java.io.*;
 import java.util.*;
+import java.util.Map.Entry;
 import java.net.InetAddress;
 
 import org.apache.cassandra.concurrent.StageManager;
@@ -186,10 +187,9 @@
         versions.add( epState.getHeartBeatState().getHeartBeatVersion() );
         Map<String, ApplicationState> appStateMap = epState.getApplicationStateMap();
 
-        Set<String> keys = appStateMap.keySet();
-        for ( String key : keys )
+        for (ApplicationState value : appStateMap.values())
         {
-            int stateVersion = appStateMap.get(key).getStateVersion();
+            int stateVersion = value.getStateVersion();
             versions.add( stateVersion );
         }
 
@@ -454,16 +454,16 @@
             }
             Map<String, ApplicationState> appStateMap = epState.getApplicationStateMap();
             /* Accumulate all application states whose versions are greater than "version" variable */
-            Set<String> keys = appStateMap.keySet();
-            for ( String key : keys )
+            for (Entry<String, ApplicationState> entry : appStateMap.entrySet())
             {
-                ApplicationState appState = appStateMap.get(key);
+                ApplicationState appState = entry.getValue();
                 if ( appState.getStateVersion() > version )
                 {
                     if ( reqdEndPointState == null )
                     {
                         reqdEndPointState = new EndPointState(epState.getHeartBeatState());
                     }
+                    final String key = entry.getKey();
                     if (logger_.isTraceEnabled())
                         logger_.trace("Adding state " + key + ": " + appState.getValue());
                     reqdEndPointState.addApplicationState(key, appState);
@@ -525,10 +525,10 @@
     void notifyFailureDetector(Map<InetAddress, EndPointState> remoteEpStateMap)
     {
         IFailureDetector fd = FailureDetector.instance;
-        Set<InetAddress> endpoints = remoteEpStateMap.keySet();
-        for ( InetAddress endpoint : endpoints )
+        for (Entry<InetAddress, EndPointState> entry : remoteEpStateMap.entrySet())
         {
-            EndPointState remoteEndPointState = remoteEpStateMap.get(endpoint);
+            InetAddress endpoint = entry.getKey();
+            EndPointState remoteEndPointState = entry.getValue();
             EndPointState localEndPointState = endPointStateMap_.get(endpoint);
             /*
              * If the local endpoint state exists then report to the FD only
@@ -604,14 +604,14 @@
 
     synchronized void applyStateLocally(Map<InetAddress, EndPointState> epStateMap)
     {
-        Set<InetAddress> eps = epStateMap.keySet();
-        for( InetAddress ep : eps )
+        for (Entry<InetAddress, EndPointState> entry : epStateMap.entrySet())
         {
+            InetAddress ep = entry.getKey();
             if ( ep.equals( localEndPoint_ ) )
                 continue;
 
             EndPointState localEpStatePtr = endPointStateMap_.get(ep);
-            EndPointState remoteState = epStateMap.get(ep);
+            EndPointState remoteState = entry.getValue();
             /*
                 If state does not exist just add it. If it does then add it only if the version
                 of the remote copy is greater than the local copy.

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java?rev=908568&r1=908567&r2=908568&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/tools/NodeCmd.java Wed Feb 10 16:25:18 2010
@@ -10,6 +10,7 @@
 import java.util.List;
 import java.util.Map;
 import java.util.Set;
+import java.util.Map.Entry;
 
 import org.apache.cassandra.cache.JMXAggregatingCacheMBean;
 import org.apache.cassandra.cache.JMXInstrumentedCacheMBean;
@@ -199,9 +200,10 @@
         }
 
         // print out the table statistics
-        for (String tableName : cfstoreMap.keySet())
+        for (Entry<String, List<ColumnFamilyStoreMBean>> entry : cfstoreMap.entrySet())
         {
-            List<ColumnFamilyStoreMBean> columnFamilies = cfstoreMap.get(tableName);
+            String tableName = entry.getKey();
+            List<ColumnFamilyStoreMBean> columnFamilies = entry.getValue();
             int tableReadCount = 0;
             int tableWriteCount = 0;
             int tablePendingTasks = 0;

Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/ExpiringMap.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/ExpiringMap.java?rev=908568&r1=908567&r2=908568&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/ExpiringMap.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/utils/ExpiringMap.java Wed Feb 10 16:25:18 2010
@@ -19,6 +19,7 @@
 package org.apache.cassandra.utils;
 
 import java.util.*;
+import java.util.Map.Entry;
 
 import org.apache.log4j.Logger;
 
@@ -93,10 +94,11 @@
             }
 
             /* Calling the hooks on the keys that have been expunged */
-            Set<K> keys = expungedValues.keySet();
-            for (K key : keys)
+            for (Entry<K, V> entry : expungedValues.entrySet())
             {
-                V value = expungedValues.get(key);
+                K key = entry.getKey();
+                V value = entry.getValue();
+                
                 ICacheExpungeHook<K, V> hook = hooks_.remove(key);
                 if (hook != null)
                 {