You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@sling.apache.org by st...@apache.org on 2015/11/11 10:12:15 UTC

svn commit: r1713780 - /sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java

Author: stefanegli
Date: Wed Nov 11 09:12:14 2015
New Revision: 1713780

URL: http://svn.apache.org/viewvc?rev=1713780&view=rev
Log:
SLING-5290 : Ensure heartbeat self-check works with any timeout/interval config

Modified:
    sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java

Modified: sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java
URL: http://svn.apache.org/viewvc/sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java?rev=1713780&r1=1713779&r2=1713780&view=diff
==============================================================================
--- sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java (original)
+++ sling/trunk/bundles/extensions/discovery/impl/src/main/java/org/apache/sling/discovery/impl/common/heartbeat/HeartbeatHandler.java Wed Nov 11 09:12:14 2015
@@ -238,7 +238,7 @@ public class HeartbeatHandler extends Ba
         // so this second part is now done (additionally) in a 2nd runner here:
         try {
             long interval = config.getHeartbeatInterval();
-            logger.info("initialize: starting periodic heartbeat job for "+slingId+" with interval "+interval+" sec.");
+            logger.info("initialize: starting periodic checkForLocalClusterViewChange job for "+slingId+" with interval "+interval+" sec.");
             if (interval==0) {
                 logger.warn("initialize: Repeat interval cannot be zero. Defaulting to 10sec.");
                 interval = 10;
@@ -256,7 +256,8 @@ public class HeartbeatHandler extends Ba
                         // SLING-5285: add a safety-margin for SLING-5195
                         final long heartbeatTimeoutMillis = config.getHeartbeatTimeoutMillis();
                         final long heartbeatIntervalMillis = config.getHeartbeatInterval() * 1000;
-                        final long maxTimeSinceHb = heartbeatTimeoutMillis - 2 * heartbeatIntervalMillis;
+                        final long maxTimeSinceHb = Math.max(Math.min(heartbeatTimeoutMillis, 2 * heartbeatIntervalMillis),
+                                heartbeatTimeoutMillis - 2 * heartbeatIntervalMillis);
                         if (timeSinceHb > maxTimeSinceHb) {
                             logger.info("checkForLocalClusterViewChange/.run: time since local instance last wrote a heartbeat is " + timeSinceHb + "ms"
                                     + " (heartbeatTimeoutMillis=" + heartbeatTimeoutMillis + ", heartbeatIntervalMillis=" + heartbeatIntervalMillis