helix-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From j...@apache.org
Subject [6/7] helix git commit: Config to change the interval of healthReport collection
Date Wed, 04 Oct 2017 01:49:47 GMT
Config to change the interval of healthReport collection

To better support the health report, the configurable collection time interval is necessary.
Add this configuration in system environment since there is no zookeeper connection happens
before create healthreport tasks.


Project: http://git-wip-us.apache.org/repos/asf/helix/repo
Commit: http://git-wip-us.apache.org/repos/asf/helix/commit/bd113a18
Tree: http://git-wip-us.apache.org/repos/asf/helix/tree/bd113a18
Diff: http://git-wip-us.apache.org/repos/asf/helix/diff/bd113a18

Branch: refs/heads/master
Commit: bd113a181a25611b7e2581f0bcbbce24d4aab1eb
Parents: 177d5bd
Author: Junkai Xue <jxue@linkedin.com>
Authored: Tue Oct 3 15:22:47 2017 -0700
Committer: Junkai Xue <jxue@linkedin.com>
Committed: Tue Oct 3 15:22:47 2017 -0700

----------------------------------------------------------------------
 .../helix/healthcheck/ParticipantHealthReportTask.java      | 9 ++++++++-
 .../java/org/apache/helix/manager/zk/ZKHelixManager.java    | 9 +++++++--
 2 files changed, 15 insertions(+), 3 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/helix/blob/bd113a18/helix-core/src/main/java/org/apache/helix/healthcheck/ParticipantHealthReportTask.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/healthcheck/ParticipantHealthReportTask.java
b/helix-core/src/main/java/org/apache/helix/healthcheck/ParticipantHealthReportTask.java
index f1c4c24..e0f38ba 100644
--- a/helix-core/src/main/java/org/apache/helix/healthcheck/ParticipantHealthReportTask.java
+++ b/helix-core/src/main/java/org/apache/helix/healthcheck/ParticipantHealthReportTask.java
@@ -29,6 +29,7 @@ import org.apache.log4j.Logger;
 public class ParticipantHealthReportTask extends HelixTimerTask {
   private static final Logger LOG = Logger.getLogger(ParticipantHealthReportTask.class);
   public final static int DEFAULT_REPORT_LATENCY = 60 * 1000;
+  private final int _reportLatency;
 
   Timer _timer;
   final ParticipantHealthReportCollectorImpl _healthReportCollector;
@@ -42,7 +43,13 @@ public class ParticipantHealthReportTask extends HelixTimerTask {
   }
 
   public ParticipantHealthReportTask(ParticipantHealthReportCollectorImpl healthReportCollector)
{
+    this(healthReportCollector, DEFAULT_REPORT_LATENCY);
+  }
+
+  public ParticipantHealthReportTask(ParticipantHealthReportCollectorImpl healthReportCollector,
+      int reportLatency) {
     _healthReportCollector = healthReportCollector;
+    _reportLatency = reportLatency;
   }
 
   @Override
@@ -51,7 +58,7 @@ public class ParticipantHealthReportTask extends HelixTimerTask {
       LOG.info("Start HealthCheckInfoReportingTask");
       _timer = new Timer("ParticipantHealthReportTimerTask", true);
       _timer.scheduleAtFixedRate(new ParticipantHealthReportTimerTask(),
-          new Random().nextInt(DEFAULT_REPORT_LATENCY), DEFAULT_REPORT_LATENCY);
+          new Random().nextInt(_reportLatency), _reportLatency);
     } else {
       LOG.warn("ParticipantHealthReportTimerTask already started");
     }

http://git-wip-us.apache.org/repos/asf/helix/blob/bd113a18/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java
----------------------------------------------------------------------
diff --git a/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java b/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java
index 670a65e..fdc6a55 100644
--- a/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java
+++ b/helix-core/src/main/java/org/apache/helix/manager/zk/ZKHelixManager.java
@@ -100,6 +100,7 @@ public class ZKHelixManager implements HelixManager, IZkStateListener
{
    * helix version#
    */
   private final String _version;
+  private int _reportLatency;
 
   protected ZkClient _zkclient = null;
   private final DefaultMessagingService _messagingService;
@@ -231,6 +232,8 @@ public class ZKHelixManager implements HelixManager, IZkStateListener
{
 
     _connectionRetryTimeout =
         getSystemPropertyAsInt("zk.connectionReEstablishment.timeout", DEFAULT_CONNECTION_ESTABLISHMENT_RETRY_TIMEOUT);
+    _reportLatency = getSystemPropertyAsInt("helixmanager.participantHealthReport.reportLatency",
+        ParticipantHealthReportTask.DEFAULT_REPORT_LATENCY);
 
     /**
      * instance type specific init
@@ -240,7 +243,8 @@ public class ZKHelixManager implements HelixManager, IZkStateListener
{
       _stateMachineEngine = new HelixStateMachineEngine(this);
       _participantHealthInfoCollector =
           new ParticipantHealthReportCollectorImpl(this, _instanceName);
-      _timerTasks.add(new ParticipantHealthReportTask(_participantHealthInfoCollector));
+      _timerTasks
+          .add(new ParticipantHealthReportTask(_participantHealthInfoCollector, _reportLatency));
       break;
     case CONTROLLER:
       _stateMachineEngine = null;
@@ -253,7 +257,8 @@ public class ZKHelixManager implements HelixManager, IZkStateListener
{
       _participantHealthInfoCollector =
           new ParticipantHealthReportCollectorImpl(this, _instanceName);
 
-      _timerTasks.add(new ParticipantHealthReportTask(_participantHealthInfoCollector));
+      _timerTasks
+          .add(new ParticipantHealthReportTask(_participantHealthInfoCollector, _reportLatency));
       _controllerTimerTasks.add(new StatusDumpTask(this));
       break;
     case ADMINISTRATOR:


Mime
View raw message