Search in sources :

Example 1 with VerifyInstanceConfiguration

use of org.neo4j.cluster.VerifyInstanceConfiguration in project neo4j by neo4j.

the class InstanceIdTest method nodeTriesToJoinRunningClusterWithExistingServerId.

@Test
public void nodeTriesToJoinRunningClusterWithExistingServerId() throws InterruptedException, ExecutionException, TimeoutException, URISyntaxException {
    List<URI> correctMembers = new ArrayList<>();
    correctMembers.add(URI.create("server1"));
    correctMembers.add(URI.create("server2"));
    correctMembers.add(URI.create("server3"));
    Map<String, InstanceId> roles = new HashMap<>();
    roles.put("coordinator", new InstanceId(1));
    testCluster(new int[] { 1, 2, 3, 3 }, new VerifyInstanceConfiguration[] { new VerifyInstanceConfiguration(correctMembers, roles, Collections.emptySet()), new VerifyInstanceConfiguration(correctMembers, roles, Collections.emptySet()), new VerifyInstanceConfiguration(correctMembers, roles, Collections.emptySet()), new VerifyInstanceConfiguration(Collections.emptyList(), Collections.emptyMap(), Collections.emptySet()) }, DEFAULT_NETWORK(), new ClusterTestScriptDSL().rounds(600).join(100, 1, 1).join(100, 2, 1).join(100, 3, 1).join(5000, 4, 1).message(0, "*** Conflicting node tried to join"));
}
Also used : VerifyInstanceConfiguration(org.neo4j.cluster.VerifyInstanceConfiguration) HashMap(java.util.HashMap) InstanceId(org.neo4j.cluster.InstanceId) ArrayList(java.util.ArrayList) URI(java.net.URI) Test(org.junit.Test)

Example 2 with VerifyInstanceConfiguration

use of org.neo4j.cluster.VerifyInstanceConfiguration in project neo4j by neo4j.

the class InstanceIdTest method substituteFailedNode.

@Test
public void substituteFailedNode() throws InterruptedException, ExecutionException, TimeoutException, URISyntaxException {
    List<URI> correctMembers = new ArrayList<>();
    correctMembers.add(URI.create("server1"));
    correctMembers.add(URI.create("server2"));
    correctMembers.add(URI.create("server4"));
    List<URI> wrongMembers = new ArrayList<>();
    wrongMembers.add(URI.create("server1"));
    wrongMembers.add(URI.create("server2"));
    wrongMembers.add(URI.create("server3"));
    Map<String, InstanceId> roles = new HashMap<>();
    roles.put("coordinator", new InstanceId(1));
    Set<InstanceId> clusterMemberFailed = new HashSet<>();
    Set<InstanceId> isolatedMemberFailed = new HashSet<>();
    // will never receive heartbeats again from 1,2 so they are failed
    isolatedMemberFailed.add(new InstanceId(1));
    isolatedMemberFailed.add(new InstanceId(2));
    testCluster(new int[] { 1, 2, 3, 3 }, new VerifyInstanceConfiguration[] { new VerifyInstanceConfiguration(correctMembers, roles, clusterMemberFailed), new VerifyInstanceConfiguration(correctMembers, roles, clusterMemberFailed), new VerifyInstanceConfiguration(wrongMembers, roles, isolatedMemberFailed), new VerifyInstanceConfiguration(correctMembers, roles, clusterMemberFailed) }, DEFAULT_NETWORK(), new ClusterTestScriptDSL().rounds(8000).join(100, 1, 1).join(100, 2, 1).join(100, 3, 1).down(3000, 3).join(1000, 4, 1, 2, 3));
}
Also used : VerifyInstanceConfiguration(org.neo4j.cluster.VerifyInstanceConfiguration) HashMap(java.util.HashMap) InstanceId(org.neo4j.cluster.InstanceId) ArrayList(java.util.ArrayList) URI(java.net.URI) HashSet(java.util.HashSet) Test(org.junit.Test)

Example 3 with VerifyInstanceConfiguration

use of org.neo4j.cluster.VerifyInstanceConfiguration in project neo4j by neo4j.

the class InstanceIdTest method substituteFailedNodeAndFailedComesOnlineAgain.

@Test
public void substituteFailedNodeAndFailedComesOnlineAgain() throws InterruptedException, ExecutionException, TimeoutException, URISyntaxException {
    List<URI> correctMembers = new ArrayList<>();
    correctMembers.add(URI.create("server1"));
    correctMembers.add(URI.create("server2"));
    correctMembers.add(URI.create("server4"));
    List<URI> badMembers = new ArrayList<>();
    badMembers.add(URI.create("server1"));
    badMembers.add(URI.create("server2"));
    badMembers.add(URI.create("server3"));
    Map<String, InstanceId> roles = new HashMap<>();
    roles.put("coordinator", new InstanceId(1));
    // no failures
    Set<InstanceId> clusterMemberFailed = new HashSet<>();
    Set<InstanceId> isolatedMemberFailed = new HashSet<>();
    // will never receive heartbeats again from 1,2 so they are failed
    isolatedMemberFailed.add(new InstanceId(1));
    isolatedMemberFailed.add(new InstanceId(2));
    testCluster(new int[] { 1, 2, 3, 3 }, new VerifyInstanceConfiguration[] { new VerifyInstanceConfiguration(correctMembers, roles, clusterMemberFailed), new VerifyInstanceConfiguration(correctMembers, roles, clusterMemberFailed), new VerifyInstanceConfiguration(badMembers, roles, isolatedMemberFailed), new VerifyInstanceConfiguration(correctMembers, roles, clusterMemberFailed) }, DEFAULT_NETWORK(), new ClusterTestScriptDSL().rounds(800).join(100, 1, 1).join(100, 2, 1).join(100, 3, 1).down(3000, 3).join(1000, 4, 1, 2, 3).up(1000, 3));
}
Also used : VerifyInstanceConfiguration(org.neo4j.cluster.VerifyInstanceConfiguration) HashMap(java.util.HashMap) InstanceId(org.neo4j.cluster.InstanceId) ArrayList(java.util.ArrayList) URI(java.net.URI) HashSet(java.util.HashSet) Test(org.junit.Test)

Aggregations

URI (java.net.URI)3 ArrayList (java.util.ArrayList)3 HashMap (java.util.HashMap)3 Test (org.junit.Test)3 InstanceId (org.neo4j.cluster.InstanceId)3 VerifyInstanceConfiguration (org.neo4j.cluster.VerifyInstanceConfiguration)3 HashSet (java.util.HashSet)2