@Override public void afterRun() throws Exception { super.afterRun(); if (!finalized) { return; } sendPostJoinOperations(); if (preparePostOp(postJoinOp)) { getNodeEngine().getOperationService().run(postJoinOp); } }
@Override public void afterRun() throws Exception { super.afterRun(); if (!finalized) { return; } sendPostJoinOperations(); if (preparePostOp(postJoinOp)) { getNodeEngine().getOperationService().run(postJoinOp); } }
operationService.run(op);
operationService.run(op);
protected void startClusterMerge(Address targetAddress, int expectedMemberListVersion) { ClusterServiceImpl clusterService = node.clusterService; if (!prepareClusterState(clusterService, expectedMemberListVersion)) { return; } OperationService operationService = node.nodeEngine.getOperationService(); Collection<Member> memberList = clusterService.getMembers(); Collection<Future> futures = new ArrayList<Future>(memberList.size()); for (Member member : memberList) { if (!member.localMember()) { Operation op = new MergeClustersOp(targetAddress); Future<Object> future = operationService.invokeOnTarget(ClusterServiceImpl.SERVICE_NAME, op, member.getAddress()); futures.add(future); } } waitWithDeadline(futures, SPLIT_BRAIN_MERGE_TIMEOUT_SECONDS, TimeUnit.SECONDS, splitBrainMergeExceptionHandler); Operation op = new MergeClustersOp(targetAddress); op.setNodeEngine(node.nodeEngine).setService(clusterService).setOperationResponseHandler(createEmptyResponseHandler()); operationService.run(op); }
protected void startClusterMerge(Address targetAddress, int expectedMemberListVersion) { ClusterServiceImpl clusterService = node.clusterService; if (!prepareClusterState(clusterService, expectedMemberListVersion)) { return; } OperationService operationService = node.nodeEngine.getOperationService(); Collection<Member> memberList = clusterService.getMembers(); Collection<Future> futures = new ArrayList<Future>(memberList.size()); for (Member member : memberList) { if (!member.localMember()) { Operation op = new MergeClustersOp(targetAddress); Future<Object> future = operationService.invokeOnTarget(ClusterServiceImpl.SERVICE_NAME, op, member.getAddress()); futures.add(future); } } waitWithDeadline(futures, SPLIT_BRAIN_MERGE_TIMEOUT_SECONDS, TimeUnit.SECONDS, splitBrainMergeExceptionHandler); Operation op = new MergeClustersOp(targetAddress); op.setNodeEngine(node.nodeEngine).setService(clusterService).setOperationResponseHandler(createEmptyResponseHandler()); operationService.run(op); }