Description
In three locations in the code, TestBalancer waits forever on a condition. Failures result in Hudson/Jenkins "Timeout occurred" error message with no information about where or why. Need to replace with TimeoutExceptions that throw a stack trace and useful info about the failure mode.
In waitForHeartBeat(), it is waiting on an exact match for a value that may be coarsely quantized – i.e., significant deviation from the exact "expected" result may occur. Replace with an allowed range of result.