private void executeIndexChangeTask()

in src/main/java/com/ericsson/gerrit/plugins/highavailability/index/IndexEventHandler.java [93:122]


  private void executeIndexChangeTask(String projectName, int id) {

    if (!Context.isForwardedEvent()) {
      String changeId = projectName + "~" + id;
      try {
        changeChecker
            .create(changeId)
            .newIndexEvent()
            .map(
                event -> {
                  if (Thread.currentThread().getName().contains("Batch")) {
                    return new BatchIndexChangeTask(projectName, id, event);
                  }
                  return new IndexChangeTask(projectName, id, event);
                })
            .ifPresent(
                task -> {
                  if (queuedTasks.add(task)) {
                    if (task instanceof BatchIndexChangeTask) {
                      batchExecutor.execute(task);
                    } else {
                      executor.execute(task);
                    }
                  }
                });
      } catch (Exception e) {
        log.atWarning().withCause(e).log("Unable to create task to reindex change %s", changeId);
      }
    }
  }