Search in sources :

Example 6 with MembersUpdateOp

use of com.hazelcast.internal.cluster.impl.operations.MembersUpdateOp in project hazelcast by hazelcast.

the class MembershipUpdateTest method memberReceives_memberUpdateNotContainingItself.

@Test
public void memberReceives_memberUpdateNotContainingItself() throws Exception {
    Config config = new Config();
    config.setProperty(MEMBER_LIST_PUBLISH_INTERVAL_SECONDS.getName(), String.valueOf(Integer.MAX_VALUE));
    HazelcastInstance hz1 = factory.newHazelcastInstance(config);
    HazelcastInstance hz2 = factory.newHazelcastInstance(config);
    HazelcastInstance hz3 = factory.newHazelcastInstance(config);
    assertClusterSizeEventually(3, hz2);
    Node node = getNode(hz1);
    ClusterServiceImpl clusterService = node.getClusterService();
    MembershipManager membershipManager = clusterService.getMembershipManager();
    MembersView membersView = MembersView.createNew(membershipManager.getMemberListVersion() + 1, asList(membershipManager.getMember(getAddress(hz1)), membershipManager.getMember(getAddress(hz2))));
    Operation memberUpdate = new MembersUpdateOp(membershipManager.getMember(getAddress(hz3)).getUuid(), membersView, clusterService.getClusterTime(), null, true);
    memberUpdate.setCallerUuid(node.getThisUuid());
    Future<Object> future = node.getNodeEngine().getOperationService().invokeOnTarget(null, memberUpdate, getAddress(hz3));
    try {
        future.get();
        fail("Membership update should fail!");
    } catch (ExecutionException e) {
        assertTrue(e.getCause() instanceof IllegalArgumentException);
    }
}
Also used : HazelcastInstance(com.hazelcast.core.HazelcastInstance) HazelcastInstanceFactory.newHazelcastInstance(com.hazelcast.instance.impl.HazelcastInstanceFactory.newHazelcastInstance) MembersUpdateOp(com.hazelcast.internal.cluster.impl.operations.MembersUpdateOp) TestHazelcastInstanceFactory.initOrCreateConfig(com.hazelcast.test.TestHazelcastInstanceFactory.initOrCreateConfig) Config(com.hazelcast.config.Config) ServiceConfig(com.hazelcast.config.ServiceConfig) Node(com.hazelcast.instance.impl.Node) Accessors.getNode(com.hazelcast.test.Accessors.getNode) Operation(com.hazelcast.spi.impl.operationservice.Operation) ExecutionException(java.util.concurrent.ExecutionException) ParallelJVMTest(com.hazelcast.test.annotation.ParallelJVMTest) QuickTest(com.hazelcast.test.annotation.QuickTest) Test(org.junit.Test)

Aggregations

MembersUpdateOp (com.hazelcast.internal.cluster.impl.operations.MembersUpdateOp)6 MemberImpl (com.hazelcast.cluster.impl.MemberImpl)4 MemberInfo (com.hazelcast.internal.cluster.MemberInfo)3 Operation (com.hazelcast.spi.impl.operationservice.Operation)3 Address (com.hazelcast.cluster.Address)2 Config (com.hazelcast.config.Config)2 ServiceConfig (com.hazelcast.config.ServiceConfig)2 HazelcastInstance (com.hazelcast.core.HazelcastInstance)2 HazelcastInstanceFactory.newHazelcastInstance (com.hazelcast.instance.impl.HazelcastInstanceFactory.newHazelcastInstance)2 Node (com.hazelcast.instance.impl.Node)2 FinalizeJoinOp (com.hazelcast.internal.cluster.impl.operations.FinalizeJoinOp)2 OnJoinOp (com.hazelcast.internal.cluster.impl.operations.OnJoinOp)2 VectorClock (com.hazelcast.cluster.impl.VectorClock)1 EndpointQualifier (com.hazelcast.instance.EndpointQualifier)1 AuthenticationFailureOp (com.hazelcast.internal.cluster.impl.operations.AuthenticationFailureOp)1 BeforeJoinCheckFailureOp (com.hazelcast.internal.cluster.impl.operations.BeforeJoinCheckFailureOp)1 ClusterMismatchOp (com.hazelcast.internal.cluster.impl.operations.ClusterMismatchOp)1 CommitClusterStateOp (com.hazelcast.internal.cluster.impl.operations.CommitClusterStateOp)1 ConfigMismatchOp (com.hazelcast.internal.cluster.impl.operations.ConfigMismatchOp)1 ExplicitSuspicionOp (com.hazelcast.internal.cluster.impl.operations.ExplicitSuspicionOp)1