code: private void suspectSessions(long exclude, long timestamp) {
      for (ServerSessionContext session : executor.context().sessions().sessions.values()) {
        if (session.id() != exclude && timestamp - session.timeout() > session.getTimestamp()) {
          session.suspect();
        }
      }
    }
docs: Marked as suspicious any sessions that have timed out according to the given timestamp.
  <p>
  Sessions are marked suspicious instead of being expired since log cleaning can result in large
  gaps in time between entries in the log. Thus, once log compaction has occurred, it's possible
  that a session could be marked expired when in fact its keep alive entries were simply compacted
  from the log. Forcing the leader to expire sessions ensures that keep alives are not missed with
  regard to session expiration.