You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by al...@apache.org on 2014/08/17 19:48:07 UTC

[2/2] git commit: Merge branch 'cassandra-2.0' into cassandra-2.1

Merge branch 'cassandra-2.0' into cassandra-2.1

Conflicts:
	CHANGES.txt
	src/java/org/apache/cassandra/client/RingCache.java


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

Branch: refs/heads/cassandra-2.1
Commit: 35999b3c835f4eb36180595593d0def7c7dae084
Parents: ff9c631 b87741c
Author: Aleksey Yeschenko <al...@apache.org>
Authored: Sun Aug 17 20:47:58 2014 +0300
Committer: Aleksey Yeschenko <al...@apache.org>
Committed: Sun Aug 17 20:47:58 2014 +0300

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


http://git-wip-us.apache.org/repos/asf/cassandra/blob/35999b3c/CHANGES.txt
----------------------------------------------------------------------
diff --cc CHANGES.txt
index 113de3e,94169c1..b8132ba
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@@ -1,20 -1,7 +1,21 @@@
 -2.0.10
 +2.1.1
 + * Add max live/tombstoned cells to nodetool cfstats output (CASSANDRA-7731)
 + * Validate IPv6 wildcard addresses properly (CASSANDRA-7680)
 + * (cqlsh) Error when tracing query (CASSANDRA-7613)
 + * Avoid IOOBE when building SyntaxError message snippet (CASSANDRA-7569)
 + * SSTableExport uses correct validator to create string representation of partition
 +   keys (CASSANDRA-7498)
 + * Avoid NPEs when receiving type changes for an unknown keyspace (CASSANDRA-7689)
 + * Add support for custom 2i validation (CASSANDRA-7575)
 + * Pig support for hadoop CqlInputFormat (CASSANDRA-6454)
 + * Add listen_interface and rpc_interface options (CASSANDRA-7417)
 + * Improve schema merge performance (CASSANDRA-7444)
 + * Adjust MT depth based on # of partition validating (CASSANDRA-5263)
 + * Optimise NativeCell comparisons (CASSANDRA-6755)
 + * Configurable client timeout for cqlsh (CASSANDRA-7516)
 + * Include snippet of CQL query near syntax error in messages (CASSANDRA-7111)
 +Merged from 2.0:
+  * (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
     from system_traces (CASSANDRA-7641)
   * (Hadoop) Add CqlOutputFormat (CASSANDRA-6927)

http://git-wip-us.apache.org/repos/asf/cassandra/blob/35999b3c/src/java/org/apache/cassandra/client/RingCache.java
----------------------------------------------------------------------
diff --cc src/java/org/apache/cassandra/client/RingCache.java
index 9b04518,cc9b1b2..c3dbda5
--- a/src/java/org/apache/cassandra/client/RingCache.java
+++ b/src/java/org/apache/cassandra/client/RingCache.java
@@@ -61,44 -61,47 +61,42 @@@ public class RingCach
  
      public void refreshEndpointMap()
      {
-             try {
+         try
+         {
+             Cassandra.Client client = ConfigHelper.getClientFromOutputAddressList(conf);
  
-                 Cassandra.Client client = ConfigHelper.getClientFromOutputAddressList(conf);
+             String keyspace = ConfigHelper.getOutputKeyspace(conf);
+             List<TokenRange> ring = ConfigHelper.getOutputLocalDCOnly(conf)
+                                   ? client.describe_local_ring(keyspace)
+                                   : client.describe_ring(keyspace);
+             rangeMap = ArrayListMultimap.create();
  
-                 List<TokenRange> 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<Token> r = new Range<Token>(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<Token> r = new Range<Token>(left, right, partitioner);
-                     for (String host : range.endpoints)
+                     try
+                     {
+                         rangeMap.put(r, InetAddress.getByName(host));
 -                    }
 -                    catch (UnknownHostException e)
++                    } 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)
++        catch (InvalidRequestException | IOException e)
+         {
+             throw new RuntimeException(e);
+         }
+         catch (TException e)
+         {
 -            logger.debug("Error contacting seed list" + ConfigHelper.getOutputInitialAddress(conf) + " " + e.getMessage());
++            logger.debug("Error contacting seed list {} {}", ConfigHelper.getOutputInitialAddress(conf), e.getMessage());
+         }
+     }
  
      /** ListMultimap promises to return a List for get(K) */
      public List<InetAddress> getEndpoint(Range<Token> range)