You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@brooklyn.apache.org by al...@apache.org on 2015/09/17 12:31:01 UTC

[4/5] incubator-brooklyn git commit: Delete deprecated CassandraNode.TOCKEN

Delete deprecated CassandraNode.TOCKEN


Project: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/commit/623ee83e
Tree: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/tree/623ee83e
Diff: http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/diff/623ee83e

Branch: refs/heads/master
Commit: 623ee83ec125f2bfbbd82cafe7f88d2124008a5c
Parents: 5385f34
Author: Aled Sage <al...@gmail.com>
Authored: Tue Sep 15 10:22:47 2015 +0100
Committer: Aled Sage <al...@gmail.com>
Committed: Tue Sep 15 11:21:54 2015 +0100

----------------------------------------------------------------------
 .../cassandra/CassandraDatacenterImpl.java      | 13 +++--
 .../entity/nosql/cassandra/CassandraNode.java   | 26 ++--------
 .../nosql/cassandra/CassandraNodeImpl.java      | 51 +-------------------
 .../CassandraDatacenterIntegrationTest.java     |  4 +-
 .../cassandra/CassandraDatacenterLiveTest.java  | 15 +++---
 ...assandraDatacenterRebindIntegrationTest.java |  7 +--
 .../cassandra/CassandraDatacenterTest.java      | 20 +++-----
 .../cassandra/CassandraNodeIntegrationTest.java |  1 -
 8 files changed, 37 insertions(+), 100 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/623ee83e/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java
index 3678bb2..e17d530 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterImpl.java
@@ -303,16 +303,21 @@ public class CassandraDatacenterImpl extends DynamicClusterImpl implements Cassa
         return super.grow(delta);
     }
     
-    @SuppressWarnings("deprecation")
     @Override
     protected Entity createNode(@Nullable Location loc, Map<?,?> flags) {
         Map<Object, Object> allflags = MutableMap.copyOf(flags);
-        
-        if ((flags.containsKey(CassandraNode.TOKEN) || flags.containsKey("token")) || (flags.containsKey(CassandraNode.TOKENS) || flags.containsKey("tokens"))) {
+
+        if (flags.containsKey("token") || flags.containsKey("cassandra.token")) {
+            // TODO Delete in future version; was deprecated in 0.7.0; deleted config key in 0.9.0
+            log.warn("Cassandra token no longer supported - use 'tokens' in "+CassandraDatacenterImpl.this);
+        }
+        if (flags.containsKey(CassandraNode.TOKENS) || flags.containsKey("tokens") || flags.containsKey("cassandra.tokens")) {
             // leave token config as-is
         } else if (!useVnodes()) {
             BigInteger token = getTokenGenerator().newToken();
-            allflags.put(CassandraNode.TOKEN, token);
+            if (token != null) {
+                allflags.put(CassandraNode.TOKENS, ImmutableSet.of(token));
+            }
         }
 
         if ((flags.containsKey(CassandraNode.NUM_TOKENS_PER_NODE) || flags.containsKey("numTokensPerNode"))) {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/623ee83e/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNode.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNode.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNode.java
index aaf1886..0f42be5 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNode.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNode.java
@@ -136,14 +136,6 @@ public interface CassandraNode extends DatastoreMixins.DatastoreCommon, Software
             "Number of tokens per node; if using vnodes, should set this to a value like 256",
             1);
     
-    /**
-     * @deprecated since 0.7; use {@link #TOKENS}
-     */
-    @SetFromFlag("token")
-    @Deprecated
-    BasicAttributeSensorAndConfigKey<BigInteger> TOKEN = new BasicAttributeSensorAndConfigKey<BigInteger>(
-            BigInteger.class, "cassandra.token", "Cassandra Token");
-
     @SetFromFlag("tokens")
     @SuppressWarnings("serial")
     BasicAttributeSensorAndConfigKey<Set<BigInteger>> TOKENS = new BasicAttributeSensorAndConfigKey<Set<BigInteger>>(
@@ -200,24 +192,14 @@ public interface CassandraNode extends DatastoreMixins.DatastoreCommon, Software
     String getPrivateIp();
     String getPublicIp();
     
-    /**
-     * In range 0 to (2^127)-1; or null if not yet set or known.
-     * Returns the first token if more than one token.
-     * @deprecated since 0.7; see {@link #getTokens()}
-     */
-    @Deprecated
-    BigInteger getToken();
-
     int getNumTokensPerNode();
 
-    Set<BigInteger> getTokens();
-
     /**
-     * string value of token (with no commas, which freemarker introduces!) or blank if none
-     * @deprecated since 0.7; use {@link #getTokensAsString()}
+     * Returns the set of tokens.
+     * Each is in the range 0 to (2^127)-1.
+     * Returns null if there are no tokens.
      */
-    @Deprecated
-    String getTokenAsString();
+    Set<BigInteger> getTokens();
 
     /** string value of comma-separated tokens; or blank if none */
     String getTokensAsString();

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/623ee83e/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java
index 22d73ec..1c6742b 100644
--- a/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java
+++ b/software/nosql/src/main/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeImpl.java
@@ -53,8 +53,6 @@ import org.apache.brooklyn.feed.jmx.JmxAttributePollConfig;
 import org.apache.brooklyn.feed.jmx.JmxFeed;
 import org.apache.brooklyn.feed.jmx.JmxHelper;
 import org.apache.brooklyn.feed.jmx.JmxOperationPollConfig;
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
 import org.apache.brooklyn.policy.enricher.RollingTimeWindowMeanEnricher;
 import org.apache.brooklyn.policy.enricher.TimeWeightedDeltaEnricher;
 import org.apache.brooklyn.util.collections.MutableSet;
@@ -65,6 +63,8 @@ import org.apache.brooklyn.util.guava.Functionals;
 import org.apache.brooklyn.util.guava.Maybe;
 import org.apache.brooklyn.util.text.Strings;
 import org.apache.brooklyn.util.time.Duration;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
 
 import com.google.common.base.Function;
 import com.google.common.base.Functions;
@@ -75,8 +75,6 @@ import com.google.common.base.Splitter;
 import com.google.common.base.Throwables;
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
-import com.google.common.collect.ImmutableSet;
-import com.google.common.collect.Iterables;
 import com.google.common.collect.Maps;
 import com.google.common.collect.Sets;
 import com.google.common.net.HostAndPort;
@@ -207,44 +205,16 @@ public class CassandraNodeImpl extends SoftwareProcessImpl implements CassandraN
         return getConfig(CassandraNode.NUM_TOKENS_PER_NODE);
     }
 
-    @Deprecated
-    @Override public BigInteger getToken() {
-        BigInteger token = getAttribute(CassandraNode.TOKEN);
-        if (token == null) {
-            token = getConfig(CassandraNode.TOKEN);
-        }
-        return token;
-    }
-    
     @Override public Set<BigInteger> getTokens() {
         // Prefer an already-set attribute over the config.
         // Prefer TOKENS over TOKEN.
         Set<BigInteger> tokens = getAttribute(CassandraNode.TOKENS);
         if (tokens == null) {
-            BigInteger token = getAttribute(CassandraNode.TOKEN);
-            if (token != null) {
-                tokens = ImmutableSet.of(token);
-            }
-        }
-        if (tokens == null) {
             tokens = getConfig(CassandraNode.TOKENS);
         }
-        if (tokens == null) {
-            BigInteger token = getConfig(CassandraNode.TOKEN);
-            if (token != null) {
-                tokens = ImmutableSet.of(token);
-            }
-        }
         return tokens;
     }
     
-    @Deprecated
-    @Override public String getTokenAsString() {
-        BigInteger token = getToken();
-        if (token==null) return "";
-        return ""+token;
-    }
-
     @Override public String getTokensAsString() {
         // TODO check what is required when replacing failed node.
         // with vnodes in Cassandra 2.x, don't bother supplying token
@@ -456,23 +426,6 @@ public class CassandraNodeImpl extends SoftwareProcessImpl implements CassandraN
                             }})
                         .onException(Functions.<Set<BigInteger>>constant(null))
                         .suppressDuplicates(true))
-                .pollAttribute(new JmxAttributePollConfig<BigInteger>(TOKEN)
-                        .objectName(storageServiceMBean)
-                        .attributeName("TokenToEndpointMap")
-                        .onSuccess(new Function<Object, BigInteger>() {
-                            @Override
-                            public BigInteger apply(@Nullable Object arg) {
-                                Map input = (Map)arg;
-                                // TODO remove duplication from setting TOKENS
-                                if (input == null || input.isEmpty()) return null;
-                                // FIXME does not work on aws-ec2, uses RFC1918 address
-                                Predicate<String> self = Predicates.in(ImmutableList.of(getAttribute(HOSTNAME), getAttribute(ADDRESS), getAttribute(SUBNET_ADDRESS), getAttribute(SUBNET_HOSTNAME)));
-                                Set<String> tokens = Maps.filterValues(input, self).keySet();
-                                String token = Iterables.getFirst(tokens, null);
-                                return (token != null) ? new BigInteger(token) : null;
-                            }})
-                        .onException(Functions.<BigInteger>constant(null))
-                        .suppressDuplicates(true))
                 .pollOperation(new JmxOperationPollConfig<String>(DATACENTER_NAME)
                         .period(60, TimeUnit.SECONDS)
                         .objectName(snitchMBean)

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/623ee83e/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterIntegrationTest.java b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterIntegrationTest.java
index 4192f91..eddbbef 100644
--- a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterIntegrationTest.java
+++ b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterIntegrationTest.java
@@ -40,6 +40,7 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import com.google.common.collect.ImmutableList;
+import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 
 /**
@@ -55,6 +56,7 @@ import com.google.common.collect.Iterables;
  */
 public class CassandraDatacenterIntegrationTest extends BrooklynAppLiveTestSupport {
 
+    @SuppressWarnings("unused")
     private static final Logger log = LoggerFactory.getLogger(CassandraDatacenterIntegrationTest.class);
 
     protected Location testLocation;
@@ -119,7 +121,7 @@ public class CassandraDatacenterIntegrationTest extends BrooklynAppLiveTestSuppo
         if (assertToken) {
             PosNeg63TokenGenerator tg = new PosNeg63TokenGenerator();
             tg.growingCluster(1);
-            EntityTestUtils.assertAttributeEqualsEventually(node, CassandraNode.TOKEN, tg.newToken().add(BigInteger.valueOf(42)));
+            EntityTestUtils.assertAttributeEqualsEventually(node, CassandraNode.TOKENS, ImmutableSet.of(tg.newToken().add(BigInteger.valueOf(42))));
         }
 
         // may take some time to be consistent (with new thrift_latency checks on the node,

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/623ee83e/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterLiveTest.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterLiveTest.java b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterLiveTest.java
index aedd5a7..7279f92 100644
--- a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterLiveTest.java
+++ b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterLiveTest.java
@@ -19,6 +19,7 @@
 package org.apache.brooklyn.entity.nosql.cassandra;
 
 import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
 import static org.testng.Assert.assertTrue;
 
@@ -51,7 +52,6 @@ import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
 
 import com.google.common.collect.ImmutableList;
-import com.google.common.collect.ImmutableSet;
 import com.google.common.collect.Iterables;
 import com.google.common.collect.Lists;
 import com.google.common.collect.Sets;
@@ -114,6 +114,10 @@ public class CassandraDatacenterLiveTest extends BrooklynAppLiveTestSupport {
      * didn't seem to be enough. I also had to set JAVA_HOME:
      *     .configure("shell.env", MutableMap.of("JAVA_HOME", "/etc/alternatives/java_sdk_1.7.0"))
      * However, that would break other deployments such as on Ubuntu where JAVA_HOME would be different.
+     * 
+     * TODO In AWS eu-west-1, with the default image choice (ami-ad2404da, ubuntu-trusty-14.04-amd64-server-20150908),
+     * `apt-get install openjdk-8-jdk` failed with the error "Unable to locate package openjdk-8-jdk".
+     * This meant Cassandra failed to start, because no Java was installed.
      */
     @Test(groups = "Live")
     public void testDatacenterWithVnodesVersion2() throws Exception {
@@ -204,12 +208,11 @@ public class CassandraDatacenterLiveTest extends BrooklynAppLiveTestSupport {
                     EntityTestUtils.assertAttributeEquals(node, Startable.SERVICE_UP, true);
                     EntityTestUtils.assertConfigEquals(node, CassandraNode.NUM_TOKENS_PER_NODE, 1);
                     EntityTestUtils.assertAttributeEquals(node, CassandraNode.PEERS, numNodes);
-                    BigInteger token = node.getAttribute(CassandraNode.TOKEN);
                     Set<BigInteger> tokens = node.getAttribute(CassandraNode.TOKENS);
-                    assertNotNull(token);
-                    assertEquals(tokens, ImmutableSet.of(token));
+                    assertNotNull(tokens);
                     alltokens.addAll(tokens);
                 }
+                assertFalse(alltokens.contains(null), "tokens="+alltokens);
                 assertEquals(alltokens.size(), numNodes);
             }});
     }
@@ -225,12 +228,12 @@ public class CassandraDatacenterLiveTest extends BrooklynAppLiveTestSupport {
                     EntityTestUtils.assertAttributeEquals(node, Startable.SERVICE_UP, true);
                     EntityTestUtils.assertAttributeEquals(node, CassandraNode.PEERS, tokensPerNode*numNodes);
                     EntityTestUtils.assertConfigEquals(node, CassandraNode.NUM_TOKENS_PER_NODE, 256);
-                    BigInteger token = node.getAttribute(CassandraNode.TOKEN);
                     Set<BigInteger> tokens = node.getAttribute(CassandraNode.TOKENS);
-                    assertNotNull(token);
+                    assertNotNull(tokens);
                     assertEquals(tokens.size(), tokensPerNode, "tokens="+tokens);
                     alltokens.addAll(tokens);
                 }
+                assertFalse(alltokens.contains(null));
                 assertEquals(alltokens.size(), tokensPerNode*numNodes);
             }});
     }

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/623ee83e/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterRebindIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterRebindIntegrationTest.java b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterRebindIntegrationTest.java
index 1ad77d0..89b03da 100644
--- a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterRebindIntegrationTest.java
+++ b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterRebindIntegrationTest.java
@@ -18,6 +18,7 @@
  */
 package org.apache.brooklyn.entity.nosql.cassandra;
 
+import static org.testng.Assert.assertFalse;
 import static org.testng.Assert.assertNotNull;
 
 import java.math.BigInteger;
@@ -44,6 +45,7 @@ import com.google.common.collect.Iterables;
  * Test the operation of the {@link NginxController} class.
  */
 public class CassandraDatacenterRebindIntegrationTest extends RebindTestFixtureWithApp {
+    @SuppressWarnings("unused")
     private static final Logger LOG = LoggerFactory.getLogger(CassandraDatacenterRebindIntegrationTest.class);
 
     private LocalhostMachineProvisioningLocation localhostProvisioningLocation;
@@ -77,9 +79,9 @@ public class CassandraDatacenterRebindIntegrationTest extends RebindTestFixtureW
         CassandraDatacenterLiveTest.assertNodesConsistent(ImmutableList.of(origNode));
         CassandraDatacenterLiveTest.assertSingleTokenConsistent(ImmutableList.of(origNode));
         CassandraDatacenterLiveTest.checkConnectionRepeatedly(2, 5, ImmutableList.of(origNode));
-        BigInteger origToken = origNode.getAttribute(CassandraNode.TOKEN);
         Set<BigInteger> origTokens = origNode.getAttribute(CassandraNode.TOKENS);
-        assertNotNull(origToken);
+        assertNotNull(origTokens);
+        assertFalse(origTokens.contains(null), "tokens="+origTokens);
         
         newApp = rebind(RebindOptions.create().terminateOrigManagementContext(true));
         final CassandraDatacenter newDatacenter = (CassandraDatacenter) Iterables.find(newApp.getChildren(), Predicates.instanceOf(CassandraDatacenter.class));
@@ -87,7 +89,6 @@ public class CassandraDatacenterRebindIntegrationTest extends RebindTestFixtureW
         
         EntityTestUtils.assertAttributeEqualsEventually(newDatacenter, CassandraDatacenter.GROUP_SIZE, 1);
         EntityTestUtils.assertAttributeEqualsEventually(newNode, Startable.SERVICE_UP, true);
-        EntityTestUtils.assertAttributeEqualsEventually(newNode, CassandraNode.TOKEN, origToken);
         EntityTestUtils.assertAttributeEqualsEventually(newNode, CassandraNode.TOKENS, origTokens);
         CassandraDatacenterLiveTest.assertNodesConsistent(ImmutableList.of(newNode));
         CassandraDatacenterLiveTest.assertSingleTokenConsistent(ImmutableList.of(newNode));

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/623ee83e/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java
index 2267fb1..2c978b2 100644
--- a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java
+++ b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraDatacenterTest.java
@@ -28,10 +28,10 @@ import org.apache.brooklyn.api.entity.Entity;
 import org.apache.brooklyn.api.entity.EntitySpec;
 import org.apache.brooklyn.api.location.LocationSpec;
 import org.apache.brooklyn.core.entity.Attributes;
-import org.apache.brooklyn.core.entity.EntityInternal;
 import org.apache.brooklyn.core.test.BrooklynAppUnitTestSupport;
 import org.apache.brooklyn.entity.software.base.EmptySoftwareProcess;
 import org.apache.brooklyn.entity.software.base.EmptySoftwareProcessSshDriver;
+import org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation;
 import org.apache.brooklyn.test.EntityTestUtils;
 import org.apache.brooklyn.util.core.ResourceUtils;
 import org.apache.brooklyn.util.core.text.TemplateProcessor;
@@ -42,7 +42,6 @@ import org.slf4j.LoggerFactory;
 import org.testng.Assert;
 import org.testng.annotations.BeforeMethod;
 import org.testng.annotations.Test;
-import org.apache.brooklyn.location.localhost.LocalhostMachineProvisioningLocation;
 
 import com.google.common.collect.ImmutableList;
 import com.google.common.collect.ImmutableMap;
@@ -99,10 +98,11 @@ public class CassandraDatacenterTest extends BrooklynAppUnitTestSupport {
         
         // calling the driver stop for this entity will cause SERVICE_UP to become false, and stay false
         // (and that's all it does, incidentally); if we just set the attribute it will become true on serviceUp sensor feed
+        log.info("Simulating failure of cassandra node "+e1);
         ((EmptySoftwareProcess)e1).getDriver().stop();
         // not necessary, but speeds things up:
         if (fast)
-            ((EntityInternal)e1).setAttribute(Attributes.SERVICE_UP, false);
+            e1.sensors().set(Attributes.SERVICE_UP, false);
         
         EntityTestUtils.assertAttributeEqualsEventually(cluster, CassandraDatacenter.CURRENT_SEEDS, ImmutableSet.<Entity>of(e2));
 
@@ -120,7 +120,7 @@ public class CassandraDatacenterTest extends BrooklynAppUnitTestSupport {
             // (not that important, and waits for 1s, so only done as part of integration)
             ((EmptySoftwareProcessSshDriver)(((EmptySoftwareProcess)e1).getDriver())).launch();
             if (fast)
-                ((EntityInternal)e1).setAttribute(Attributes.SERVICE_UP, true);
+                e1.sensors().set(Attributes.SERVICE_UP, true);
             EntityTestUtils.assertAttributeEqualsEventually(e1, CassandraNode.SERVICE_UP, true);
             EntityTestUtils.assertAttributeEqualsContinually(cluster, CassandraDatacenter.CURRENT_SEEDS, ImmutableSet.<Entity>of(e2, e3));
         }
@@ -137,15 +137,11 @@ public class CassandraDatacenterTest extends BrooklynAppUnitTestSupport {
         app.start(ImmutableList.of(loc));
 
         Set<BigInteger> tokens = Sets.newLinkedHashSet();
-        Set<BigInteger> tokens2 = Sets.newLinkedHashSet();
         for (Entity member : cluster.getMembers()) {
-            BigInteger memberToken = member.getConfig(CassandraNode.TOKEN);
             Set<BigInteger > memberTokens = member.getConfig(CassandraNode.TOKENS);
-            if (memberToken != null) tokens.add(memberToken);
-            if (memberTokens != null) tokens2.addAll(memberTokens);
+            if (memberTokens != null) tokens.addAll(memberTokens);
         }
         assertEquals(tokens, ImmutableSet.of(new BigInteger("-9223372036854775808"), BigInteger.ZERO));
-        assertEquals(tokens2, ImmutableSet.of());
     }
     
     @Test
@@ -159,15 +155,11 @@ public class CassandraDatacenterTest extends BrooklynAppUnitTestSupport {
         app.start(ImmutableList.of(loc));
 
         Set<BigInteger> tokens = Sets.newLinkedHashSet();
-        Set<BigInteger> tokens2 = Sets.newLinkedHashSet();
         for (Entity member : cluster.getMembers()) {
-            BigInteger memberToken = member.getConfig(CassandraNode.TOKEN);
             Set<BigInteger > memberTokens = member.getConfig(CassandraNode.TOKENS);
-            if (memberToken != null) tokens.add(memberToken);
-            if (memberTokens != null) tokens2.addAll(memberTokens);
+            if (memberTokens != null) tokens.addAll(memberTokens);
         }
         assertEquals(tokens, ImmutableSet.of());
-        assertEquals(tokens2, ImmutableSet.of());
     }
     
     public static class MockInputForTemplate {

http://git-wip-us.apache.org/repos/asf/incubator-brooklyn/blob/623ee83e/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeIntegrationTest.java
----------------------------------------------------------------------
diff --git a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeIntegrationTest.java b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeIntegrationTest.java
index 831b9a7..12edbe6 100644
--- a/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeIntegrationTest.java
+++ b/software/nosql/src/test/java/org/apache/brooklyn/entity/nosql/cassandra/CassandraNodeIntegrationTest.java
@@ -155,7 +155,6 @@ public class CassandraNodeIntegrationTest extends AbstractCassandraNodeTest {
         
         Asserts.succeedsEventually(new Runnable() {
             @Override public void run() {
-                assertNotNull(cassandra.getAttribute(CassandraNode.TOKEN));
                 assertNotNull(cassandra.getAttribute(CassandraNode.TOKENS));
                 assertEquals(cassandra.getAttribute(CassandraNode.TOKENS).size(), 256, "tokens="+cassandra.getAttribute(CassandraNode.TOKENS));