Im specifically referring to the bully algorithm for synchronous systems, described in [Garcia-Molina 1982]. In it, the timeout for failure detection is concretely defined as the sum of the round trip time and the message processing time. Additionally, there is a separate timeout that the process must wait before re-starting the election process if it got a response from a higher process, but did not get a leader announcement. Is there any valid value for this separate timeout? Can it be any arbitrary finite number and still guarantee correctness?
It seems like a process should be able to safely start an election at any time, but I was wondering if there is some sort of heuristic for a more optimal timeout than just selecting an arbitrary positive finite value.