You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@cassandra.apache.org by br...@apache.org on 2012/06/20 19:22:42 UTC
git commit: Fix bootstrap, move,
remove and other hostid-related tests.
Updated Branches:
refs/heads/trunk b4e47bca8 -> 877a8cacc
Fix bootstrap, move, remove and other hostid-related tests.
Project: http://git-wip-us.apache.org/repos/asf/cassandra/repo
Commit: http://git-wip-us.apache.org/repos/asf/cassandra/commit/877a8cac
Tree: http://git-wip-us.apache.org/repos/asf/cassandra/tree/877a8cac
Diff: http://git-wip-us.apache.org/repos/asf/cassandra/diff/877a8cac
Branch: refs/heads/trunk
Commit: 877a8cacc1de7740d4e0e422ecf2b409b7f193f6
Parents: b4e47bc
Author: Brandon Williams <br...@apache.org>
Authored: Wed Jun 20 12:17:25 2012 -0500
Committer: Brandon Williams <br...@apache.org>
Committed: Wed Jun 20 12:18:05 2012 -0500
----------------------------------------------------------------------
src/java/org/apache/cassandra/gms/Gossiper.java | 2 ++
.../apache/cassandra/service/StorageService.java | 6 ++----
test/unit/org/apache/cassandra/Util.java | 2 ++
.../org/apache/cassandra/dht/BootStrapperTest.java | 2 ++
.../cassandra/service/LeaveAndBootstrapTest.java | 2 ++
.../org/apache/cassandra/service/MoveTest.java | 4 ++++
6 files changed, 14 insertions(+), 4 deletions(-)
----------------------------------------------------------------------
http://git-wip-us.apache.org/repos/asf/cassandra/blob/877a8cac/src/java/org/apache/cassandra/gms/Gossiper.java
----------------------------------------------------------------------
diff --git a/src/java/org/apache/cassandra/gms/Gossiper.java b/src/java/org/apache/cassandra/gms/Gossiper.java
index 57c3c49..4208c07 100644
--- a/src/java/org/apache/cassandra/gms/Gossiper.java
+++ b/src/java/org/apache/cassandra/gms/Gossiper.java
@@ -1084,6 +1084,8 @@ public class Gossiper implements IFailureDetectionEventListener, GossiperMBean
localState.markAlive();
endpointStateMap.put(addr, localState);
}
+ // always add the version state
+ localState.addApplicationState(ApplicationState.NET_VERSION, StorageService.instance.valueFactory.networkVersion());
}
public long getEndpointDowntime(String address) throws UnknownHostException
http://git-wip-us.apache.org/repos/asf/cassandra/blob/877a8cac/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 d7dba7d..bc7a7e6 100644
--- a/src/java/org/apache/cassandra/service/StorageService.java
+++ b/src/java/org/apache/cassandra/service/StorageService.java
@@ -1017,11 +1017,8 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
{
if (MessagingService.instance().knowsVersion(endpoint) && MessagingService.instance().getVersion(endpoint) >= MessagingService.VERSION_12)
return true;
- else if (Gossiper.instance.getEndpointStateForEndpoint(endpoint) != null) // simply to pass the bootstrap test
- {
- if (Gossiper.instance.getEndpointStateForEndpoint(endpoint).getApplicationState(ApplicationState.NET_VERSION) != null && Integer.valueOf(Gossiper.instance.getEndpointStateForEndpoint(endpoint).getApplicationState(ApplicationState.NET_VERSION).value) >= MessagingService.VERSION_12)
+ else if (Gossiper.instance.getEndpointStateForEndpoint(endpoint).getApplicationState(ApplicationState.NET_VERSION) != null && Integer.valueOf(Gossiper.instance.getEndpointStateForEndpoint(endpoint).getApplicationState(ApplicationState.NET_VERSION).value) >= MessagingService.VERSION_12)
return true;
- }
return false;
}
@@ -1095,6 +1092,7 @@ public class StorageService implements IEndpointStateChangeSubscriber, StorageSe
}
else
tokensPos = 1;
+ logger.debug("Using token position {} for {}", tokensPos, endpoint);
Token token = getPartitioner().getTokenFactory().fromString(pieces[tokensPos]);
http://git-wip-us.apache.org/repos/asf/cassandra/blob/877a8cac/test/unit/org/apache/cassandra/Util.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/Util.java b/test/unit/org/apache/cassandra/Util.java
index d53c1b2..7f8c227 100644
--- a/test/unit/org/apache/cassandra/Util.java
+++ b/test/unit/org/apache/cassandra/Util.java
@@ -40,6 +40,7 @@ import org.apache.cassandra.db.filter.QueryFilter;
import org.apache.cassandra.db.filter.QueryPath;
import org.apache.cassandra.dht.*;
import org.apache.cassandra.gms.ApplicationState;
+import org.apache.cassandra.gms.Gossiper;
import org.apache.cassandra.gms.VersionedValue;
import org.apache.cassandra.io.sstable.Descriptor;
import org.apache.cassandra.io.sstable.SSTableReader;
@@ -228,6 +229,7 @@ public class Util
for (int i=0; i<endpointTokens.size(); i++)
{
InetAddress ep = InetAddress.getByName("127.0.0." + String.valueOf(i + 1));
+ Gossiper.instance.initializeNodeUnsafe(ep, 1);
ss.onChange(ep, ApplicationState.STATUS, new VersionedValue.VersionedValueFactory(partitioner).normal(endpointTokens.get(i), hostIds.get(i)));
hosts.add(ep);
}
http://git-wip-us.apache.org/repos/asf/cassandra/blob/877a8cac/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/dht/BootStrapperTest.java b/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
index 6e9236f..3c8cd3b 100644
--- a/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
+++ b/test/unit/org/apache/cassandra/dht/BootStrapperTest.java
@@ -88,6 +88,8 @@ public class BootStrapperTest extends SchemaLoader
{
Gossiper.instance.initializeNodeUnsafe(addrs[i], 1);
load.put(addrs[i], (double)i+2);
+ // also make bootstrapping nodes present in gossip
+ Gossiper.instance.initializeNodeUnsafe(bootstrapAddrs[i], 1);
}
// give every node a bootstrap source.
http://git-wip-us.apache.org/repos/asf/cassandra/blob/877a8cac/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
index be53b53..24df493 100644
--- a/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
+++ b/test/unit/org/apache/cassandra/service/LeaveAndBootstrapTest.java
@@ -162,9 +162,11 @@ public class LeaveAndBootstrapTest
// boot two new nodes with keyTokens.get(5) and keyTokens.get(7)
InetAddress boot1 = InetAddress.getByName("127.0.1.1");
+ Gossiper.instance.initializeNodeUnsafe(boot1, 1);
UUID boot1Id = UUID.randomUUID();
ss.onChange(boot1, ApplicationState.STATUS, valueFactory.bootstrapping(keyTokens.get(5), boot1Id));
InetAddress boot2 = InetAddress.getByName("127.0.1.2");
+ Gossiper.instance.initializeNodeUnsafe(boot2, 1);
ss.onChange(boot2, ApplicationState.STATUS, valueFactory.bootstrapping(keyTokens.get(7), UUID.randomUUID()));
Collection<InetAddress> endpoints = null;
http://git-wip-us.apache.org/repos/asf/cassandra/blob/877a8cac/test/unit/org/apache/cassandra/service/MoveTest.java
----------------------------------------------------------------------
diff --git a/test/unit/org/apache/cassandra/service/MoveTest.java b/test/unit/org/apache/cassandra/service/MoveTest.java
index b44fa32..38dc42a 100644
--- a/test/unit/org/apache/cassandra/service/MoveTest.java
+++ b/test/unit/org/apache/cassandra/service/MoveTest.java
@@ -27,6 +27,8 @@ import java.util.*;
import com.google.common.collect.HashMultimap;
import com.google.common.collect.Multimap;
import static org.junit.Assert.*;
+
+import org.apache.cassandra.gms.Gossiper;
import org.junit.AfterClass;
import org.junit.BeforeClass;
import org.junit.Test;
@@ -179,8 +181,10 @@ public class MoveTest
// boot two new nodes with keyTokens.get(5) and keyTokens.get(7)
InetAddress boot1 = InetAddress.getByName("127.0.1.1");
+ Gossiper.instance.initializeNodeUnsafe(boot1, 1);
ss.onChange(boot1, ApplicationState.STATUS, valueFactory.bootstrapping(keyTokens.get(5), UUID.randomUUID()));
InetAddress boot2 = InetAddress.getByName("127.0.1.2");
+ Gossiper.instance.initializeNodeUnsafe(boot2, 1);
ss.onChange(boot2, ApplicationState.STATUS, valueFactory.bootstrapping(keyTokens.get(7), UUID.randomUUID()));
// don't require test update every time a new keyspace is added to test/conf/cassandra.yaml