Author: jbellis
Date: Mon Jan 24 06:00:25 2011
New Revision: 1062656

URL: http://svn.apache.org/viewvc?rev=1062656&view=rev
Log:
avoid redundant work between findSuitableEndpoint and getLiveNaturalEndpoints
patch by jbellis

Modified:
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java
    
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java?rev=1062656&r1=1062655&r2=1062656&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageProxy.java
 Mon Jan 24 06:00:25 2011
@@ -348,8 +348,9 @@ public class StorageProxy implements Sto
             Message message = command.makeReadMessage();
             Message messageDigestOnly = 
readMessageDigestOnly.makeReadMessage();
 
-            InetAddress dataPoint = 
StorageService.instance.findSuitableEndpoint(command.table, command.key);
             List<InetAddress> endpoints = 
StorageService.instance.getLiveNaturalEndpoints(command.table, command.key);
+            
DatabaseDescriptor.getEndpointSnitch().sortByProximity(FBUtilities.getLocalAddress(),
 endpoints);
+            InetAddress dataPoint = endpoints.get(0);
 
             ReadResponseResolver resolver = new 
ReadResponseResolver(command.table, command.key);
             ReadCallback<Row> handler = getReadCallback(resolver, 
command.table, consistency_level);

Modified: 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
URL: 
http://svn.apache.org/viewvc/cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java?rev=1062656&r1=1062655&r2=1062656&view=diff
==============================================================================
--- 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
 (original)
+++ 
cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service/StorageService.java
 Mon Jan 24 06:00:25 2011
@@ -1414,23 +1414,6 @@ public class StorageService implements I
         return liveEps;
     }
 
-    /**
-     * This function finds the closest live endpoint that contains a given key.
-     */
-    public InetAddress findSuitableEndpoint(String table, ByteBuffer key) 
throws IOException, UnavailableException
-    {
-        List<InetAddress> endpoints = getNaturalEndpoints(table, key);
-        
DatabaseDescriptor.getEndpointSnitch().sortByProximity(FBUtilities.getLocalAddress(),
 endpoints);
-        if (logger_.isDebugEnabled())
-            logger_.debug("Sorted endpoints are " + 
StringUtils.join(endpoints, ","));
-        for (InetAddress endpoint : endpoints)
-        {
-            if (FailureDetector.instance.isAlive(endpoint))
-                return endpoint;
-        }
-        throw new UnavailableException(); // no nodes that could contain key 
are alive
-    }
-
     public void setLog4jLevel(String classQualifier, String rawLevel)
     {
         Level level = Level.toLevel(rawLevel);


Reply via email to