From 0fc9eaac0c1f4ee03d1ea0473a2ae301327e86a1 Mon Sep 17 00:00:00 2001 From: Ryan Eberhard Date: Fri, 11 Jun 2021 11:10:01 -0400 Subject: [PATCH] Ensure that API failures are logged when the retry strategy elects to not retry --- .../operator/helpers/ResponseStep.java | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/operator/src/main/java/oracle/kubernetes/operator/helpers/ResponseStep.java b/operator/src/main/java/oracle/kubernetes/operator/helpers/ResponseStep.java index 1ca0b4d9cd8..15cebcc5a03 100644 --- a/operator/src/main/java/oracle/kubernetes/operator/helpers/ResponseStep.java +++ b/operator/src/main/java/oracle/kubernetes/operator/helpers/ResponseStep.java @@ -135,16 +135,13 @@ protected final NextAction doContinueListOrNext(CallResponse callResponse, Pa * @return Next action for retry or null, if no retry is warranted */ private NextAction doPotentialRetry(Step conflictStep, Packet packet, CallResponse callResponse) { - RetryStrategy retryStrategy = packet.getSpi(RetryStrategy.class); - if (retryStrategy != null) { - return retryStrategy.doPotentialRetry(conflictStep, packet, callResponse.getStatusCode()); - } - - LOGGER.fine(MessageKeys.ASYNC_NO_RETRY, - callResponse.getExceptionString(), - callResponse.getStatusCode(), - callResponse.getHeadersString()); - return null; + return Optional.ofNullable(packet.getSpi(RetryStrategy.class)) + .map(rs -> rs.doPotentialRetry(conflictStep, packet, callResponse.getStatusCode())) + .orElseGet(() -> { + LOGGER.fine(MessageKeys.ASYNC_NO_RETRY, + callResponse.getExceptionString(), callResponse.getStatusCode(), callResponse.getHeadersString()); + return null; + }); } /**