heartbeater: slight fixes to backoff behavior

1. There was an off-by-one error when deciding how many failed heartbeats
   should lead to back off.
2. We only reset the connection to the master when transitioning to back off
   behavior, but I think the original intent was to reset it on every failed
   heartbeat thereafter.

These changes shouldn't have any real impact, but I think they make the back
off behavior more intuitive.

Change-Id: I8f1dbc0a8b2d052eeb39277e0b8d76e612e9b747
Reviewed-on: http://gerrit.cloudera.org:8080/3847
Tested-by: Kudu Jenkins
Reviewed-by: Todd Lipcon <todd@apache.org>
diff --git a/src/kudu/tserver/heartbeater.cc b/src/kudu/tserver/heartbeater.cc
index 166c91b..c0a1c85 100644
--- a/src/kudu/tserver/heartbeater.cc
+++ b/src/kudu/tserver/heartbeater.cc
@@ -326,7 +326,7 @@
                  << "in a row: no longer allowing fast heartbeat attempts.";
   }
 
-  return consecutive_failed_heartbeats_ > FLAGS_heartbeat_max_failures_before_backoff ?
+  return consecutive_failed_heartbeats_ >= FLAGS_heartbeat_max_failures_before_backoff ?
     FLAGS_heartbeat_interval_ms : 0;
 }
 
@@ -458,7 +458,7 @@
       // If we encountered a network error (e.g., connection
       // refused), try reconnecting.
       if (s.IsNetworkError() ||
-          consecutive_failed_heartbeats_ == FLAGS_heartbeat_max_failures_before_backoff) {
+          consecutive_failed_heartbeats_ >= FLAGS_heartbeat_max_failures_before_backoff) {
         proxy_.reset();
       }
       continue;