In _restartScheduledHeartbeats_inLock(), we will only restart heartbeats that have been scheduled, not sent. However, we do not check if those scheduled heartbeats have been cancelled or not, and we will immediately log that we are restarting heartbeats to that target. As a result, it is possible for us to log that we are restarting heartbeats multiple times to a single target, making the logs confusing and difficult to debug.
We should move the logs to when we actually send a new heartbeat request to the target instead. This should only log once.