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;