private boolean suspectMemberIfNotHeartBeating(long now, Member member) {
        if (clusterService.getMembershipManager().isMemberSuspected(member.getAddress())) {
            return true;
        }

        long lastHeartbeat = heartbeatFailureDetector.lastHeartbeat(member);
        if (!heartbeatFailureDetector.isAlive(member, now)) {
            double suspicionLevel = heartbeatFailureDetector.suspicionLevel(member, now);
            String reason = format("Suspecting %s because it has not sent any heartbeats since %s."
                            + " Now: %s, heartbeat timeout: %d ms, suspicion level: %.2f",
                    member, timeToString(lastHeartbeat), timeToString(now), maxNoHeartbeatMillis, suspicionLevel);
            logger.warning(reason);
            clusterService.suspectMember(member, reason, true);
            return true;
        }
        if (logger.isFineEnabled() && (now - lastHeartbeat) > heartbeatIntervalMillis * HEART_BEAT_INTERVAL_FACTOR) {
            double suspicionLevel = heartbeatFailureDetector.suspicionLevel(member, now);
            logger.fine(format("Not receiving any heartbeats from %s since %s, suspicion level: %.2f",
                    member, timeToString(lastHeartbeat), suspicionLevel));
        }
        return false;
    }
private boolean suspectMemberIfNotHeartBeating ( long now , Member member ) { if ( clusterService . getMembershipManager ( ) . isMemberSuspected ( member . getAddress ( ) ) ) { return true ; } long lastHeartbeat = heartbeatFailureDetector . lastHeartbeat ( member ) ; if ( ! heartbeatFailureDetector . isAlive ( member , now ) ) { double suspicionLevel = heartbeatFailureDetector . suspicionLevel ( member , now ) ; String reason = format ( "Suspecting %s because it has not sent any heartbeats since %s." + " Now: %s, heartbeat timeout: %d ms, suspicion level: %.2f" , member , timeToString ( lastHeartbeat ) , timeToString ( now ) , maxNoHeartbeatMillis , suspicionLevel ) ; logger . warning ( reason ) ; clusterService . suspectMember ( member , reason , true ) ; return true ; } if ( logger . isFineEnabled ( ) && ( now - lastHeartbeat ) > heartbeatIntervalMillis * HEART_BEAT_INTERVAL_FACTOR ) { double suspicionLevel = heartbeatFailureDetector . suspicionLevel ( member , now ) ; logger . fine ( format ( "Not receiving any heartbeats from %s since %s, suspicion level: %.2f" , member , timeToString ( lastHeartbeat ) , suspicionLevel ) ) ; } return false ; }
Removes the {@code member} if it has not sent any heartbeats in {@link GroupProperty#MAX_NO_HEARTBEAT_SECONDS}.
If it has not sent any heartbeats in {@link #HEART_BEAT_INTERVAL_FACTOR} heartbeat intervals, it will log a warning.

@param now    the current cluster clock time
@param member the member which needs to be checked
@return if the member has been removed