Add cancellation reason codes to error logging

This commit is contained in:
Chris Eager 2021-04-22 15:09:05 -05:00 committed by Chris Eager
parent 2c0a75586b
commit 0663fe30df
1 changed files with 10 additions and 2 deletions

View File

@ -124,7 +124,7 @@ public class AccountsDynamoDb extends AbstractDynamoDbStore implements AccountSt
}
// this shouldnt happen
throw new RuntimeException("could not create account");
throw new RuntimeException("could not create account: " + extractCancellationReasonCodes(e));
}
} catch (JsonProcessingException e) {
throw new IllegalArgumentException(e);
@ -319,7 +319,9 @@ public class AccountsDynamoDb extends AbstractDynamoDbStore implements AccountSt
@Override
public void onError(Exception exception) {
if (exception instanceof TransactionCanceledException) {
// account is already migrated
// account is likely already migrated
logger.warn("Error migrating account: {}",
extractCancellationReasonCodes((TransactionCanceledException) exception));
resultFuture.complete(false);
} else {
try {
@ -344,6 +346,12 @@ public class AccountsDynamoDb extends AbstractDynamoDbStore implements AccountSt
}
}
private static String extractCancellationReasonCodes(final TransactionCanceledException exception) {
return exception.getCancellationReasons().stream()
.map(CancellationReason::getCode)
.collect(Collectors.joining(", "));
}
@VisibleForTesting
static Account fromItem(Item item) {
try {