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