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 2011/01/24 07:00:26 UTC

svn commit: r1062656 - in /cassandra/branches/cassandra-0.7/src/java/org/apache/cassandra/service: StorageProxy.java StorageService.java

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);