You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by ty...@apache.org on 2014/08/27 18:02:58 UTC
git commit: Fix failure to stream ranges when moving
Repository: cassandra
Updated Branches:
refs/heads/cassandra-2.1.0 ce3fcbe5f -> 3b3afb35c
Fix failure to stream ranges when moving
Patch by Tyler Hobbs; reviewed by Yuki Morishita for CASSANDRA-7836
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/3b3afb35
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/3b3afb35
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/3b3afb35
Branch: refs/heads/cassandra-2.1.0
Commit: 3b3afb35cd20636c937ab953f497ee7193ab1ffc
Parents: ce3fcbe
Author: Tyler Hobbs <ty...@datastax.com>
Authored: Wed Aug 27 11:02:24 2014 -0500
Committer: Tyler Hobbs <ty...@datastax.com>
Committed: Wed Aug 27 11:02:24 2014 -0500
----------------------------------------------------------------------
CHANGES.txt | 1 +
src/java/org/apache/cassandra/service/StorageService.java | 10 ++++++++++
src/java/org/apache/cassandra/streaming/StreamPlan.java | 2 +-
3 files changed, 12 insertions(+), 1 deletion(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3b3afb35/CHANGES.txt
----------------------------------------------------------------------
diff --git a/CHANGES.txt b/CHANGES.txt
index 9c75426..0b45cef 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
2.1.0
+ * Fix failure to stream ranges when moving (CASSANDRA-7836)
* Correctly remove tmplink files (CASSANDRA-7803)
* (cqlsh) Fix column name formatting for functions, CAS operations,
and UDT field selections (CASSANDRA-7806)
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3b3afb35/src/java/org/apache/cassandra/service/StorageService.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageService.java b/src/java/org/apache/cassandra/service/StorageService.java
index b4aa5ba..735bf7b 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -3179,6 +3179,7 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
for (String keyspace : keyspaceNames)
{
+ logger.debug("Calculating ranges to stream and request for keyspace {}", keyspace);
for (Token newToken : newTokens)
{
// replication strategy of the current keyspace (aka table)
@@ -3263,17 +3264,26 @@ public class StorageService extends NotificationBroadcasterSupport implements IE
Set<InetAddress> newEndpoints = ImmutableSet.copyOf(strategy.calculateNaturalEndpoints(toStream.right, tokenMetaCloneAllSettled));
logger.debug("Range: {} Current endpoints: {} New endpoints: {}", toStream, currentEndpoints, newEndpoints);
for (InetAddress address : Sets.difference(newEndpoints, currentEndpoints))
+ {
+ logger.debug("Range {} has new owner {}", toStream, address);
endpointRanges.put(address, toStream);
+ }
}
// stream ranges
for (InetAddress address : endpointRanges.keySet())
+ {
+ logger.debug("Will stream range {} of keyspace {} to endpoint {}", endpointRanges.get(address), keyspace, address);
streamPlan.transferRanges(address, keyspace, endpointRanges.get(address));
+ }
// stream requests
Multimap<InetAddress, Range<Token>> workMap = RangeStreamer.getWorkMap(rangesToFetchWithPreferredEndpoints);
for (InetAddress address : workMap.keySet())
+ {
+ logger.debug("Will request range {} of keyspace {} from endpoint {}", workMap.get(address), keyspace, address);
streamPlan.requestRanges(address, keyspace, workMap.get(address));
+ }
if (logger.isDebugEnabled())
logger.debug("Keyspace {}: work map {}.", keyspace, workMap);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/3b3afb35/src/java/org/apache/cassandra/streaming/StreamPlan.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/streaming/StreamPlan.java b/src/java/org/apache/cassandra/streaming/StreamPlan.java
index e775c90..feb116f 100644
--- a/src/java/org/apache/cassandra/streaming/StreamPlan.java
+++ b/src/java/org/apache/cassandra/streaming/StreamPlan.java
@@ -143,7 +143,7 @@ public class StreamPlan
*/
public boolean isEmpty()
{
- return coordinator.hasActiveSessions();
+ return !coordinator.hasActiveSessions();
}
/**