public void start() { registerMetrics(); // Report current status every one minutes. LOGGER.info("Trying to schedule a source kafka cluster validation job at rate {} {} !", _timeValue, _timeUnit.toString()); _executorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { if (_helixMirrorMakerManager.isLeader()) { LOGGER.info("Trying to run the source kafka cluster info validation job"); validateSourceKafkaCluster(); } else { cleanupMetrics(); LOGGER.debug("Not leader, skip validation for source kafka cluster!"); } } private void cleanupMetrics() { _numMissingTopics.dec(_numMissingTopics.getCount()); _numMismatchedTopics.dec(_numMismatchedTopics.getCount()); _numMismatchedTopicPartitions.dec(_numMismatchedTopicPartitions.getCount()); for (String topic : _mismatchedTopicPartitionsCounter.keySet()) { Counter counter = _mismatchedTopicPartitionsCounter.get(topic); counter.dec(counter.getCount()); } } }, 120, _timeValue, _timeUnit); }
public void start() { registerMetrics(); // Report current status every one minutes. LOGGER.info("Trying to schedule a source kafka cluster validation job at rate {} {} !", _timeValue, _timeUnit.toString()); _executorService.scheduleAtFixedRate(new Runnable() { @Override public void run() { if (_helixMirrorMakerManager.isLeader()) { LOGGER.info("Trying to run the source kafka cluster info validation job"); validateSourceKafkaCluster(); } else { cleanupMetrics(); LOGGER.debug("Not leader, skip validation for source kafka cluster!"); } } private void cleanupMetrics() { _numMissingTopics.dec(_numMissingTopics.getCount()); _numMismatchedTopics.dec(_numMismatchedTopics.getCount()); _numMismatchedTopicPartitions.dec(_numMismatchedTopicPartitions.getCount()); for (String topic : _mismatchedTopicPartitionsCounter.keySet()) { Counter counter = _mismatchedTopicPartitionsCounter.get(topic); counter.dec(counter.getCount()); } } }, 120, _timeValue, _timeUnit); }