protected void processResult()

in crossdc-consumer/src/main/java/org/apache/solr/crossdc/consumer/KafkaCrossDcConsumer.java [390:429]


  protected void processResult(MirroredSolrRequest.Type type, IQueueHandler.Result<MirroredSolrRequest> result) throws MirroringException {
    MirroredSolrRequest item = result.getItem();
    switch (result.status()) {
      case FAILED_RESUBMIT:
        if (log.isTraceEnabled()) {
          log.trace("result=failed-resubmit");
        }
        final int attempt = item.getAttempt();
        if (attempt > this.maxAttempts) {
          log.info("Sending message to dead letter queue because of max attempts limit with current value = {}", attempt);
          kafkaMirroringSink.submitToDlq(item);
          metrics.counter(MetricRegistry.name(type.name(), "failed-dlq")).inc();
        } else {
          kafkaMirroringSink.submit(item);
          metrics.counter(MetricRegistry.name(type.name(), "failed-resubmit")).inc();
        }
        break;
      case HANDLED:
        // no-op
        if (log.isTraceEnabled()) {
          log.trace("result=handled");
        }
        metrics.counter(MetricRegistry.name(type.name(), "handled")).inc();
        break;
      case NOT_HANDLED_SHUTDOWN:
        if (log.isTraceEnabled()) {
          log.trace("result=nothandled_shutdown");
        }
        metrics.counter(MetricRegistry.name(type.name(), "nothandled_shutdown")).inc();
      case FAILED_RETRY:
        log.error("Unexpected response while processing request. We never expect {}.", result.status().toString());
        metrics.counter(MetricRegistry.name(type.name(), "failed-retry")).inc();
        break;
      default:
        if (log.isTraceEnabled()) {
          log.trace("result=no matching case");
        }
        // no-op
    }
  }