in saga-core/src/main/java/org/apache/servicecomb/saga/core/FallbackPolicy.java [33:45]
public SagaResponse apply(String address, Compensation compensation, Fallback fallback) {
for (int i = 0; isRetryable(i, compensation) && !isInterrupted(); i++) {
try {
return compensation.send(address);
} catch (Exception e) {
log.error("Failed to send compensation to {}", address, e);
sleep(retryDelay);
}
}
log.warn("Falling back after {} failures sending compensation to {}", compensation.retries(), address);
return fallback.send(address);
}