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