@Override public void searchForOtherClusters() { node.multicastService.send(node.createSplitBrainJoinMessage()); SplitBrainJoinMessage splitBrainMsg; try { SplitBrainJoinMessage request = node.createSplitBrainJoinMessage(); SplitBrainMergeCheckResult result = sendSplitBrainJoinMessageAndCheckResponse(targetAddress, request); if (result == SplitBrainMergeCheckResult.LOCAL_NODE_SHOULD_MERGE) { node.multicastService.send(node.createSplitBrainJoinMessage());
@Override public void searchForOtherClusters() { final Collection<Address> possibleAddresses; try { possibleAddresses = getPossibleAddresses(); } catch (Throwable e) { logger.severe(e); return; } possibleAddresses.remove(node.getThisAddress()); possibleAddresses.removeAll(node.getClusterService().getMemberAddresses()); if (possibleAddresses.isEmpty()) { return; } SplitBrainJoinMessage request = node.createSplitBrainJoinMessage(); for (Address address : possibleAddresses) { SplitBrainMergeCheckResult result = sendSplitBrainJoinMessageAndCheckResponse(address, request); if (result == SplitBrainMergeCheckResult.LOCAL_NODE_SHOULD_MERGE) { logger.warning(node.getThisAddress() + " is merging [tcp/ip] to " + address); setTargetAddress(address); startClusterMerge(address, request.getMemberListVersion()); return; } } }
@Override public void searchForOtherClusters() { node.multicastService.send(node.createSplitBrainJoinMessage()); SplitBrainJoinMessage splitBrainMsg; try { SplitBrainJoinMessage request = node.createSplitBrainJoinMessage(); SplitBrainMergeCheckResult result = sendSplitBrainJoinMessageAndCheckResponse(targetAddress, request); if (result == SplitBrainMergeCheckResult.LOCAL_NODE_SHOULD_MERGE) { node.multicastService.send(node.createSplitBrainJoinMessage());
@Override public void searchForOtherClusters() { final Collection<Address> possibleAddresses; try { possibleAddresses = getPossibleAddresses(); } catch (Throwable e) { logger.severe(e); return; } possibleAddresses.remove(node.getThisAddress()); possibleAddresses.removeAll(node.getClusterService().getMemberAddresses()); if (possibleAddresses.isEmpty()) { return; } SplitBrainJoinMessage request = node.createSplitBrainJoinMessage(); for (Address address : possibleAddresses) { SplitBrainMergeCheckResult result = sendSplitBrainJoinMessageAndCheckResponse(address, request); if (result == SplitBrainMergeCheckResult.LOCAL_NODE_SHOULD_MERGE) { logger.warning(node.getThisAddress() + " is merging [tcp/ip] to " + address); setTargetAddress(address); startClusterMerge(address, request.getMemberListVersion()); return; } } }
@Override public void run() { NodeEngineImpl nodeEngine = (NodeEngineImpl) getNodeEngine(); Node node = nodeEngine.getNode(); if (!preCheck(node)) { return; } if (!masterCheck()) { return; } if (request != null) { ILogger logger = getLogger(); if (checkSplitBrainJoinMessage()) { response = node.createSplitBrainJoinMessage(); } if (logger.isFineEnabled()) { logger.fine("Returning " + response + " to " + getCallerAddress()); } } }
@Override public void run() { NodeEngineImpl nodeEngine = (NodeEngineImpl) getNodeEngine(); Node node = nodeEngine.getNode(); if (!preCheck(node)) { return; } if (!masterCheck()) { return; } if (request != null) { ILogger logger = getLogger(); if (checkSplitBrainJoinMessage()) { response = node.createSplitBrainJoinMessage(); } if (logger.isFineEnabled()) { logger.fine("Returning " + response + " to " + getCallerAddress()); } } }