in iep-spring-leader/src/main/java/com/netflix/iep/leader/LeaderService.java [121:142]
private Runnable createLeaderServiceTask() {
return () -> {
try {
if (running) {
logger.info("Running an election.");
leaderElector.runElection();
timeSinceLastElection.set(registry.clock().wallTime());
registry.counter(leaderElectionsCounterId.withTag("result", "success")).increment();
} else {
logger.info("Skipping election run.");
}
} catch (Throwable t) {
final String throwableName = t.getCause() != null ?
t.getCause().getClass().getSimpleName() : t.getClass().getSimpleName();
final Id counterIdWithTags =
leaderElectionsCounterId.withTag("result", "failure").withTag("error", throwableName);
registry.counter(counterIdWithTags).increment();
logger.warn("Leader election attempt failed", t);
}
};
}