Details
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/PluginControlPaymentProcessor.java b/payment/src/main/java/org/killbill/billing/payment/core/PluginControlPaymentProcessor.java
index 96a6eda..85ba858 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/PluginControlPaymentProcessor.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/PluginControlPaymentProcessor.java
@@ -205,6 +205,10 @@ public class PluginControlPaymentProcessor extends ProcessorBase {
final CallContext callContext = buildCallContext(internalCallContext);
final State state = paymentControlStateMachineHelper.getState(attempt.getStateName());
+
+ log.debug("Retrying attemptId={}, paymentExternalKey={}, transactionExternalKey={}. paymentControlPluginNames={}, now={}",
+ attemptId, attempt.getPaymentExternalKey(), attempt.getTransactionExternalKey(), paymentControlPluginNames, clock.getUTCNow());
+
pluginControlledPaymentAutomatonRunner.run(state,
false,
attempt.getTransactionType(),
diff --git a/payment/src/main/java/org/killbill/billing/payment/invoice/InvoicePaymentControlPluginApi.java b/payment/src/main/java/org/killbill/billing/payment/invoice/InvoicePaymentControlPluginApi.java
index 1a771c4..1acbb9f 100644
--- a/payment/src/main/java/org/killbill/billing/payment/invoice/InvoicePaymentControlPluginApi.java
+++ b/payment/src/main/java/org/killbill/billing/payment/invoice/InvoicePaymentControlPluginApi.java
@@ -439,6 +439,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
try {
retryInDays = retryDays.get(retryCount);
result = nextRetryDate.plusDays(retryInDays);
+ log.debug("Next retryDate={}, retryInDays={}, retryCount={}, now={}", result, retryInDays, retryCount, clock.getUTCNow());
} catch (final NumberFormatException ex) {
log.error("Could not get retry day for retry count {}", retryCount);
}
@@ -459,6 +460,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
nbSec = nbSec * paymentConfig.getPluginFailureRetryMultiplier();
}
result = clock.getUTCNow().plusSeconds(nbSec);
+ log.debug("Next retryDate={}, retryAttempt={}, now={}", result, retryAttempt, clock.getUTCNow());
}
return result;
}
diff --git a/payment/src/main/java/org/killbill/billing/payment/retry/BaseRetryService.java b/payment/src/main/java/org/killbill/billing/payment/retry/BaseRetryService.java
index a5ec4ce..7757b65 100644
--- a/payment/src/main/java/org/killbill/billing/payment/retry/BaseRetryService.java
+++ b/payment/src/main/java/org/killbill/billing/payment/retry/BaseRetryService.java
@@ -116,6 +116,7 @@ public abstract class BaseRetryService implements RetryService {
final NotificationQueue retryQueue = notificationQueueService.getNotificationQueue(DefaultPaymentService.SERVICE_NAME, getQueueName());
final NotificationEvent key = new PaymentRetryNotificationKey(attemptId, paymentControlPluginNames);
if (retryQueue != null) {
+ log.debug("Scheduling retry timeOfRetry={}, key={}", timeOfRetry, key);
if (transactionalDao == null) {
retryQueue.recordFutureNotification(timeOfRetry, key, context.getUserToken(), context.getAccountRecordId(), context.getTenantRecordId());
} else {
diff --git a/payment/src/main/java/org/killbill/billing/payment/retry/PaymentRetryNotificationKey.java b/payment/src/main/java/org/killbill/billing/payment/retry/PaymentRetryNotificationKey.java
index d2569fd..eb4d38a 100644
--- a/payment/src/main/java/org/killbill/billing/payment/retry/PaymentRetryNotificationKey.java
+++ b/payment/src/main/java/org/killbill/billing/payment/retry/PaymentRetryNotificationKey.java
@@ -1,7 +1,9 @@
/*
* Copyright 2010-2013 Ning, Inc.
+ * Copyright 2014-2016 Groupon, Inc
+ * Copyright 2014-2016 The Billing Project, LLC
*
- * Ning licenses this file to you under the Apache License, version 2.0
+ * The Billing Project licenses this file to you under the Apache License, version 2.0
* (the "License"); you may not use this file except in compliance with the
* License. You may obtain a copy of the License at:
*
@@ -43,4 +45,13 @@ public class PaymentRetryNotificationKey implements NotificationEvent {
public List<String> getPaymentControlPluginNames() {
return paymentControlPluginNames;
}
+
+ @Override
+ public String toString() {
+ final StringBuilder sb = new StringBuilder("PaymentRetryNotificationKey{");
+ sb.append("attemptId=").append(attemptId);
+ sb.append(", paymentControlPluginNames=").append(paymentControlPluginNames);
+ sb.append('}');
+ return sb.toString();
+ }
}