public boolean replay()

in saga-core/src/main/java/org/apache/servicecomb/saga/core/CompensationTaskConsumer.java [54:68]


  public boolean replay(Collection<Node<SagaRequest>> nodes) {

    for (Iterator<Node<SagaRequest>> iterator = nodes.iterator(); iterator.hasNext(); ) {
      SagaRequest request = iterator.next().value();
      if (sagaContext.isCompensationCompleted(request)) {
        log.info("Skipped completed compensation id={} operation={} while replay", request.id(), request.transaction());
        iterator.remove();
      } else if (!sagaContext.isTransactionCompleted(request)) {
        // this transaction never started
        log.info("Skipped pending transaction id={} operation={} while replay", request.id(), request.transaction());
        iterator.remove();
      }
    }
    return !nodes.isEmpty();
  }