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 2009/10/21 16:18:25 UTC
svn commit: r828030 - in
/incubator/cassandra/trunk/src/java/org/apache/cassandra:
dht/BootStrapper.java locator/AbstractReplicationStrategy.java
locator/RackAwareStrategy.java locator/RackUnawareStrategy.java
net/EndPoint.java service/StorageService.java
Author: jbellis
Date: Wed Oct 21 14:18:24 2009
New Revision: 828030
URL: http://svn.apache.org/viewvc?rev=828030&view=rev
Log:
Make EndPoint objects immmutable, so hashcode can't change (making the EndPoint potentially disappear from a map)
patch by jbellis; reviewed by Sandeep Tata for CASSANDRA-497
Modified:
incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackAwareStrategy.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackUnawareStrategy.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/net/EndPoint.java
incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java?rev=828030&r1=828029&r2=828030&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/dht/BootStrapper.java Wed Oct 21 14:18:24 2009
@@ -209,8 +209,8 @@
if (!maxEndpoint.equals(StorageService.getLocalStorageEndPoint()))
{
- StorageService.instance().retrofitPorts(Arrays.asList(maxEndpoint));
- Token<?> t = getBootstrapTokenFrom(maxEndpoint);
+ EndPoint maxStorageEndpoint = new EndPoint(maxEndpoint.getHost(), DatabaseDescriptor.getStoragePort());
+ Token<?> t = getBootstrapTokenFrom(maxStorageEndpoint);
logger_.info("Setting token to " + t + " to assume load from " + maxEndpoint.getHost());
ss.updateToken(t);
}
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java?rev=828030&r1=828029&r2=828030&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/AbstractReplicationStrategy.java Wed Oct 21 14:18:24 2009
@@ -101,20 +101,21 @@
tokenToEndPointMap.remove(t);
}
}
- retrofitPorts(list);
- return list.toArray(new EndPoint[list.size()]);
+ return retrofitPorts(list).toArray(new EndPoint[list.size()]);
}
/*
* This method changes the ports of the endpoints from
* the control port to the storage ports.
*/
- public void retrofitPorts(List<EndPoint> eps)
+ public List<EndPoint> retrofitPorts(List<EndPoint> eps)
{
+ List<EndPoint> retrofitted = new ArrayList<EndPoint>();
for ( EndPoint ep : eps )
{
- ep.setPort(storagePort_);
+ retrofitted.add(new EndPoint(ep.getHost(), ep.getPort()));
}
+ return retrofitted;
}
private Map<EndPoint, EndPoint> getHintedMapForEndpoints(EndPoint[] topN)
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackAwareStrategy.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackAwareStrategy.java?rev=828030&r1=828029&r2=828030&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackAwareStrategy.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackAwareStrategy.java Wed Oct 21 14:18:24 2009
@@ -117,7 +117,6 @@
foundCount++;
}
}
- retrofitPorts(list);
- return list.toArray(new EndPoint[list.size()]);
+ return retrofitPorts(list).toArray(new EndPoint[list.size()]);
}
}
\ No newline at end of file
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackUnawareStrategy.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackUnawareStrategy.java?rev=828030&r1=828029&r2=828030&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackUnawareStrategy.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/locator/RackUnawareStrategy.java Wed Oct 21 14:18:24 2009
@@ -77,7 +77,6 @@
List<EndPoint> list = new ArrayList<EndPoint>();
for (Token t: tokenList)
list.add(tokenToEndPointMap.get(t));
- retrofitPorts(list);
- return list.toArray(new EndPoint[list.size()]);
+ return retrofitPorts(list).toArray(new EndPoint[list.size()]);
}
}
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/net/EndPoint.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/net/EndPoint.java?rev=828030&r1=828029&r2=828030&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/net/EndPoint.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/net/EndPoint.java Wed Oct 21 14:18:24 2009
@@ -88,11 +88,6 @@
return port_;
}
- public void setPort(int port)
- {
- port_ = port;
- }
-
public InetSocketAddress getInetAddress()
{
if (ia_ == null || ia_.isUnresolved())
Modified: incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java
URL: http://svn.apache.org/viewvc/incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java?rev=828030&r1=828029&r2=828030&view=diff
==============================================================================
--- incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java (original)
+++ incubator/cassandra/trunk/src/java/org/apache/cassandra/service/StorageService.java Wed Oct 21 14:18:24 2009
@@ -857,11 +857,6 @@
return replicationStrategy_.getHintedStorageEndPoints(partitioner_.getToken(key), naturalEndpoints);
}
- public void retrofitPorts(List<EndPoint> eps)
- {
- replicationStrategy_.retrofitPorts(eps);
- }
-
/**
* This function finds the most suitable endpoint given a key.
* It checks for locality and alive test.