Currently, SingleServerPingMonitor::_doServerPing stops scheduling pings to the server if it encounters an error.
Instead, the SingleServerPingMonitor should continue scheduling pings to the server when _isDroped = false and it encounters a non-cancellation error.