[1/2] git commit: (Hadoop) allow ACFRW to limit nodes to local DC

2014-08-17 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1.0 d087317fd -> cb772e544


(Hadoop) allow ACFRW to limit nodes to local DC

patch by Robbie Strickland; reviewed by Aleksey Yeschenko for
CASSANDRA-7252


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b87741c0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b87741c0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b87741c0

Branch: refs/heads/cassandra-2.1.0
Commit: b87741c077e74b2ae3fda3da2417dc1965c0c4ed
Parents: 115bbe4
Author: Robbie Strickland 
Authored: Sun Aug 17 20:40:39 2014 +0300
Committer: Aleksey Yeschenko 
Committed: Sun Aug 17 20:40:39 2014 +0300

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/client/RingCache.java  | 63 ++--
 .../apache/cassandra/hadoop/ConfigHelper.java   | 11 
 3 files changed, 45 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b87741c0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 987c227..94169c1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.10
+ * (Hadoop) allow ACFRW to limit nodes to local DC (CASSANDRA-7252)
  * (cqlsh) Wait up to 10 sec for a tracing session (CASSANDRA-7222)
  * Fix NPE in FileCacheService.sizeInBytes (CASSANDRA-7756)
  * (cqlsh) cqlsh should automatically disable tracing when selecting

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b87741c0/src/java/org/apache/cassandra/client/RingCache.java
--
diff --git a/src/java/org/apache/cassandra/client/RingCache.java 
b/src/java/org/apache/cassandra/client/RingCache.java
index 3308471..cc9b1b2 100644
--- a/src/java/org/apache/cassandra/client/RingCache.java
+++ b/src/java/org/apache/cassandra/client/RingCache.java
@@ -61,44 +61,47 @@ public class RingCache
 
 public void refreshEndpointMap()
 {
-try {
+try
+{
+Cassandra.Client client = 
ConfigHelper.getClientFromOutputAddressList(conf);
 
-Cassandra.Client client = 
ConfigHelper.getClientFromOutputAddressList(conf);
+String keyspace = ConfigHelper.getOutputKeyspace(conf);
+List ring = ConfigHelper.getOutputLocalDCOnly(conf)
+  ? client.describe_local_ring(keyspace)
+  : client.describe_ring(keyspace);
+rangeMap = ArrayListMultimap.create();
 
-List ring = 
client.describe_ring(ConfigHelper.getOutputKeyspace(conf));
-rangeMap = ArrayListMultimap.create();
-
-for (TokenRange range : ring)
+for (TokenRange range : ring)
+{
+Token left = 
partitioner.getTokenFactory().fromString(range.start_token);
+Token right = 
partitioner.getTokenFactory().fromString(range.end_token);
+Range r = new Range(left, right, partitioner);
+for (String host : range.endpoints)
 {
-Token left = 
partitioner.getTokenFactory().fromString(range.start_token);
-Token right = 
partitioner.getTokenFactory().fromString(range.end_token);
-Range r = new Range(left, right, 
partitioner);
-for (String host : range.endpoints)
+try
+{
+rangeMap.put(r, InetAddress.getByName(host));
+}
+catch (UnknownHostException e)
 {
-try
-{
-rangeMap.put(r, InetAddress.getByName(host));
-}
-catch (UnknownHostException e)
-{
-throw new AssertionError(e); // host strings are 
IPs
-}
+throw new AssertionError(e); // host strings are IPs
 }
 }
 }
-catch (InvalidRequestException e)
-{
-throw new RuntimeException(e);
-}
-catch (IOException e)
-{
-throw new RuntimeException(e);
-}
-catch (TException e)
-{
-logger.debug("Error contacting seed list" + 
ConfigHelper.getOutputInitialAddress(conf) + " " + e.getMessage());
-}
 }
+catch (InvalidRequestException e)
+{
+throw new RuntimeException(e);
+}
+catch (IOException e)
+{
+throw new RuntimeException

[1/2] git commit: (Hadoop) allow ACFRW to limit nodes to local DC

2014-08-17 Thread aleksey
Repository: cassandra
Updated Branches:
  refs/heads/cassandra-2.1 ff9c63163 -> 35999b3c8


(Hadoop) allow ACFRW to limit nodes to local DC

patch by Robbie Strickland; reviewed by Aleksey Yeschenko for
CASSANDRA-7252


Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/b87741c0
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/b87741c0
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/b87741c0

Branch: refs/heads/cassandra-2.1
Commit: b87741c077e74b2ae3fda3da2417dc1965c0c4ed
Parents: 115bbe4
Author: Robbie Strickland 
Authored: Sun Aug 17 20:40:39 2014 +0300
Committer: Aleksey Yeschenko 
Committed: Sun Aug 17 20:40:39 2014 +0300

--
 CHANGES.txt |  1 +
 .../org/apache/cassandra/client/RingCache.java  | 63 ++--
 .../apache/cassandra/hadoop/ConfigHelper.java   | 11 
 3 files changed, 45 insertions(+), 30 deletions(-)
--


http://git-wip-us.apache.org/repos/asf/cassandra/blob/b87741c0/CHANGES.txt
--
diff --git a/CHANGES.txt b/CHANGES.txt
index 987c227..94169c1 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,4 +1,5 @@
 2.0.10
+ * (Hadoop) allow ACFRW to limit nodes to local DC (CASSANDRA-7252)
  * (cqlsh) Wait up to 10 sec for a tracing session (CASSANDRA-7222)
  * Fix NPE in FileCacheService.sizeInBytes (CASSANDRA-7756)
  * (cqlsh) cqlsh should automatically disable tracing when selecting

http://git-wip-us.apache.org/repos/asf/cassandra/blob/b87741c0/src/java/org/apache/cassandra/client/RingCache.java
--
diff --git a/src/java/org/apache/cassandra/client/RingCache.java 
b/src/java/org/apache/cassandra/client/RingCache.java
index 3308471..cc9b1b2 100644
--- a/src/java/org/apache/cassandra/client/RingCache.java
+++ b/src/java/org/apache/cassandra/client/RingCache.java
@@ -61,44 +61,47 @@ public class RingCache
 
 public void refreshEndpointMap()
 {
-try {
+try
+{
+Cassandra.Client client = 
ConfigHelper.getClientFromOutputAddressList(conf);
 
-Cassandra.Client client = 
ConfigHelper.getClientFromOutputAddressList(conf);
+String keyspace = ConfigHelper.getOutputKeyspace(conf);
+List ring = ConfigHelper.getOutputLocalDCOnly(conf)
+  ? client.describe_local_ring(keyspace)
+  : client.describe_ring(keyspace);
+rangeMap = ArrayListMultimap.create();
 
-List ring = 
client.describe_ring(ConfigHelper.getOutputKeyspace(conf));
-rangeMap = ArrayListMultimap.create();
-
-for (TokenRange range : ring)
+for (TokenRange range : ring)
+{
+Token left = 
partitioner.getTokenFactory().fromString(range.start_token);
+Token right = 
partitioner.getTokenFactory().fromString(range.end_token);
+Range r = new Range(left, right, partitioner);
+for (String host : range.endpoints)
 {
-Token left = 
partitioner.getTokenFactory().fromString(range.start_token);
-Token right = 
partitioner.getTokenFactory().fromString(range.end_token);
-Range r = new Range(left, right, 
partitioner);
-for (String host : range.endpoints)
+try
+{
+rangeMap.put(r, InetAddress.getByName(host));
+}
+catch (UnknownHostException e)
 {
-try
-{
-rangeMap.put(r, InetAddress.getByName(host));
-}
-catch (UnknownHostException e)
-{
-throw new AssertionError(e); // host strings are 
IPs
-}
+throw new AssertionError(e); // host strings are IPs
 }
 }
 }
-catch (InvalidRequestException e)
-{
-throw new RuntimeException(e);
-}
-catch (IOException e)
-{
-throw new RuntimeException(e);
-}
-catch (TException e)
-{
-logger.debug("Error contacting seed list" + 
ConfigHelper.getOutputInitialAddress(conf) + " " + e.getMessage());
-}
 }
+catch (InvalidRequestException e)
+{
+throw new RuntimeException(e);
+}
+catch (IOException e)
+{
+throw new RuntimeException(e);