private String legacyMemberListString() { StringBuilder sb = new StringBuilder("\n\nMembers ["); Collection<MemberImpl> members = getMemberImpls(); sb.append(members.size()); sb.append("] {"); for (Member member : members) { sb.append("\n\t").append(member); } sb.append("\n}\n"); return sb.toString(); }
private String legacyMemberListString() { StringBuilder sb = new StringBuilder("\n\nMembers ["); Collection<MemberImpl> members = getMemberImpls(); sb.append(members.size()); sb.append("] {"); for (Member member : members) { sb.append("\n\t").append(member); } sb.append("\n}\n"); return sb.toString(); }
/** Reset all heartbeats to the current cluster time. Called when system clock jump is detected. */ private void resetHeartbeats() { QuorumServiceImpl quorumService = nodeEngine.getQuorumService(); long now = clusterClock.getClusterTime(); for (MemberImpl member : clusterService.getMemberImpls()) { heartbeatFailureDetector.heartbeat(member, now); quorumService.onHeartbeat(member, now); } }
/** Reset all heartbeats to the current cluster time. Called when system clock jump is detected. */ private void resetHeartbeats() { QuorumServiceImpl quorumService = nodeEngine.getQuorumService(); long now = clusterClock.getClusterTime(); for (MemberImpl member : clusterService.getMemberImpls()) { heartbeatFailureDetector.heartbeat(member, now); quorumService.onHeartbeat(member, now); } }
/** * Sends heartbeat to each of the cluster members. * Checks whether a member has failed to send a heartbeat in time * (see {@link #maxNoHeartbeatMillis}) * and removes that member from the cluster. * <p></p> * This method is only called on the master member. * * @param now the current cluster clock time */ private void heartbeatWhenMaster(long now) { Collection<MemberImpl> members = clusterService.getMemberImpls(); for (MemberImpl member : members) { if (!member.localMember()) { try { logIfConnectionToEndpointIsMissing(now, member); if (suspectMemberIfNotHeartBeating(now, member)) { continue; } pingMemberIfRequired(now, member); sendHeartbeat(member); } catch (Throwable e) { logger.severe(e); } } } }
/** * Sends heartbeat to each of the cluster members. * Checks whether a member has failed to send a heartbeat in time * (see {@link #maxNoHeartbeatMillis}) * and removes that member from the cluster. * <p></p> * This method is only called on the master member. * * @param now the current cluster clock time */ private void heartbeatWhenMaster(long now) { Collection<MemberImpl> members = clusterService.getMemberImpls(); for (MemberImpl member : members) { if (!member.localMember()) { try { logIfConnectionToEndpointIsMissing(now, member); if (suspectMemberIfNotHeartBeating(now, member)) { continue; } pingMemberIfRequired(now, member); sendHeartbeat(member); } catch (Throwable e) { logger.severe(e); } } } }
Collection<MemberImpl> members = node.clusterService.getMemberImpls(); List<Future<Boolean>> calls = firePartitionStateOperation(members, partitionState, operationService); Collection<Boolean> results = returnWithDeadline(calls, PTABLE_SYNC_TIMEOUT_SECONDS,
private void render(DiagnosticsLogWriter writer, ClusterServiceImpl clusterService) { ClusterHeartbeatManager clusterHeartbeatManager = clusterService.getClusterHeartbeatManager(); long expectedIntervalMillis = clusterHeartbeatManager.getHeartbeatIntervalMillis(); long nowMillis = System.currentTimeMillis(); for (MemberImpl member : clusterService.getMemberImpls()) { long lastHeartbeatMillis = clusterHeartbeatManager.getLastHeartbeatTime(member); if (lastHeartbeatMillis == 0L) { // member without a heartbeat; lets skip it continue; } long noHeartbeatMillis = nowMillis - lastHeartbeatMillis; float deviation = HUNDRED * ((float) (noHeartbeatMillis - expectedIntervalMillis)) / expectedIntervalMillis; if (deviation >= maxDeviationPercentage) { startLazyMainSection(writer); writer.startSection("member" + member.getAddress()); writer.writeKeyValueEntry("deviation(%)", deviation); writer.writeKeyValueEntry("noHeartbeat(ms)", noHeartbeatMillis); writer.writeKeyValueEntry("lastHeartbeat(ms)", lastHeartbeatMillis); writer.writeKeyValueEntryAsDateTime("lastHeartbeat(date-time)", lastHeartbeatMillis); writer.writeKeyValueEntry("now(ms)", nowMillis); writer.writeKeyValueEntryAsDateTime("now(date-time)", nowMillis); writer.endSection(); } } endLazyMainSection(writer); }
private void render(DiagnosticsLogWriter writer, ClusterServiceImpl clusterService) { ClusterHeartbeatManager clusterHeartbeatManager = clusterService.getClusterHeartbeatManager(); long expectedIntervalMillis = clusterHeartbeatManager.getHeartbeatIntervalMillis(); long nowMillis = System.currentTimeMillis(); for (MemberImpl member : clusterService.getMemberImpls()) { long lastHeartbeatMillis = clusterHeartbeatManager.getLastHeartbeatTime(member); if (lastHeartbeatMillis == 0L) { // member without a heartbeat; lets skip it continue; } long noHeartbeatMillis = nowMillis - lastHeartbeatMillis; float deviation = HUNDRED * ((float) (noHeartbeatMillis - expectedIntervalMillis)) / expectedIntervalMillis; if (deviation >= maxDeviationPercentage) { startLazyMainSection(writer); writer.startSection("member" + member.getAddress()); writer.writeKeyValueEntry("deviation(%)", deviation); writer.writeKeyValueEntry("noHeartbeat(ms)", noHeartbeatMillis); writer.writeKeyValueEntry("lastHeartbeat(ms)", lastHeartbeatMillis); writer.writeKeyValueEntryAsDateTime("lastHeartbeat(date-time)", lastHeartbeatMillis); writer.writeKeyValueEntry("now(ms)", nowMillis); writer.writeKeyValueEntryAsDateTime("now(date-time)", nowMillis); writer.endSection(); } } endLazyMainSection(writer); }
Collection<MemberImpl> members = node.clusterService.getMemberImpls(); for (MemberImpl member : members) { if (!member.localMember()) {