void handleExplicitSuspicion(MembersViewMetadata expectedMembersViewMetadata, Address suspectedAddress) { clusterServiceLock.lock(); try { MembersViewMetadata localMembersViewMetadata = createLocalMembersViewMetadata(); if (!localMembersViewMetadata.equals(expectedMembersViewMetadata)) { if (logger.isFineEnabled()) { logger.fine("Ignoring explicit suspicion of " + suspectedAddress + ". Expected: " + expectedMembersViewMetadata + ", Local: " + localMembersViewMetadata); } return; } MemberImpl suspectedMember = getMember(suspectedAddress); if (suspectedMember == null) { if (logger.isFineEnabled()) { logger.fine("No need for explicit suspicion, " + suspectedAddress + " is not a member."); } return; } suspectMember(suspectedMember, "explicit suspicion", true); } finally { clusterServiceLock.unlock(); } }
/** Send a {@link HeartbeatOp} to the {@code target} * @param target target Member */ private void sendHeartbeat(Member target) { if (target == null) { return; } try { MembersViewMetadata membersViewMetadata = clusterService.getMembershipManager().createLocalMembersViewMetadata(); Operation op = new HeartbeatOp(membersViewMetadata, target.getUuid(), clusterClock.getClusterTime()); op.setCallerUuid(clusterService.getThisUuid()); node.nodeEngine.getOperationService().send(op, target.getAddress()); } catch (Exception e) { if (logger.isFineEnabled()) { logger.fine(format("Error while sending heartbeat -> %s[%s]", e.getClass().getName(), e.getMessage())); } } }
void handleExplicitSuspicion(MembersViewMetadata expectedMembersViewMetadata, Address suspectedAddress) { clusterServiceLock.lock(); try { MembersViewMetadata localMembersViewMetadata = createLocalMembersViewMetadata(); if (!localMembersViewMetadata.equals(expectedMembersViewMetadata)) { if (logger.isFineEnabled()) { logger.fine("Ignoring explicit suspicion of " + suspectedAddress + ". Expected: " + expectedMembersViewMetadata + ", Local: " + localMembersViewMetadata); } return; } MemberImpl suspectedMember = getMember(suspectedAddress); if (suspectedMember == null) { if (logger.isFineEnabled()) { logger.fine("No need for explicit suspicion, " + suspectedAddress + " is not a member."); } return; } suspectMember(suspectedMember, "explicit suspicion", true); } finally { clusterServiceLock.unlock(); } }
/** Send a {@link HeartbeatOp} to the {@code target} * @param target target Member */ private void sendHeartbeat(Member target) { if (target == null) { return; } try { MembersViewMetadata membersViewMetadata = clusterService.getMembershipManager().createLocalMembersViewMetadata(); Operation op = new HeartbeatOp(membersViewMetadata, target.getUuid(), clusterClock.getClusterTime()); op.setCallerUuid(clusterService.getThisUuid()); node.nodeEngine.getOperationService().send(op, target.getAddress()); } catch (Exception e) { if (logger.isFineEnabled()) { logger.fine(format("Error while sending heartbeat -> %s[%s]", e.getClass().getName(), e.getMessage())); } } }
private void sendHeartbeatComplaintToMaster(MembersViewMetadata senderMembersViewMetadata) { if (clusterService.isMaster()) { logger.warning("Cannot send heartbeat complaint for " + senderMembersViewMetadata + " to itself."); return; } Address masterAddress = clusterService.getMasterAddress(); if (masterAddress == null) { logger.fine("Cannot send heartbeat complaint for " + senderMembersViewMetadata.getMemberAddress() + ", master address is not set."); return; } MembersViewMetadata localMembersViewMetadata = clusterService.getMembershipManager().createLocalMembersViewMetadata(); Operation op = new HeartbeatComplaintOp(localMembersViewMetadata, senderMembersViewMetadata); OperationService operationService = nodeEngine.getOperationService(); operationService.send(op, masterAddress); }
private void sendHeartbeatComplaintToMaster(MembersViewMetadata senderMembersViewMetadata) { if (clusterService.isMaster()) { logger.warning("Cannot send heartbeat complaint for " + senderMembersViewMetadata + " to itself."); return; } Address masterAddress = clusterService.getMasterAddress(); if (masterAddress == null) { logger.fine("Cannot send heartbeat complaint for " + senderMembersViewMetadata.getMemberAddress() + ", master address is not set."); return; } MembersViewMetadata localMembersViewMetadata = clusterService.getMembershipManager().createLocalMembersViewMetadata(); Operation op = new HeartbeatComplaintOp(localMembersViewMetadata, senderMembersViewMetadata); OperationService operationService = nodeEngine.getOperationService(); operationService.send(op, masterAddress); }