You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by sl...@apache.org on 2012/09/17 08:44:40 UTC

git commit: Copy tokenMetadata to avoid assertion error in getTopology

Updated Branches:
  refs/heads/trunk a500e2835 -> f1aec3d5f


Copy tokenMetadata to avoid assertion error in getTopology


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

Branch: refs/heads/trunk
Commit: f1aec3d5f6eb817d883325d8bb9204ce8c91bf27
Parents: a500e28
Author: Sylvain Lebresne <sy...@datastax.com>
Authored: Mon Sep 17 08:44:31 2012 +0200
Committer: Sylvain Lebresne <sy...@datastax.com>
Committed: Mon Sep 17 08:44:31 2012 +0200

----------------------------------------------------------------------
 .../org/apache/cassandra/service/StorageProxy.java |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/cassandra/blob/f1aec3d5/src/java/org/apache/cassandra/service/StorageProxy.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/service/StorageProxy.java b/src/java/org/apache/cassandra/service/StorageProxy.java
index e3d7de5..08aad56 100644
--- a/src/java/org/apache/cassandra/service/StorageProxy.java
+++ b/src/java/org/apache/cassandra/service/StorageProxy.java
@@ -451,8 +451,9 @@ public class StorageProxy implements StorageProxyMBean
      */
     private static Collection<InetAddress> getBatchlogEndpoints(String localDataCenter) throws UnavailableException
     {
-        // will include every known node including localhost.
-        Collection<InetAddress> localMembers = StorageService.instance.getTokenMetadata().getTopology().getDatacenterEndpoints().get(localDataCenter);
+        // will include every known node in the DC, including localhost.
+        TokenMetadata.Topology topology = StorageService.instance.getTokenMetadata().cloneOnlyTokenMap().getTopology();
+        Collection<InetAddress> localMembers = topology.getDatacenterEndpoints().get(localDataCenter);
 
         // special case for single-node datacenters
         if (localMembers.size() == 1)