Skip to content

Commit f2abed8

Browse files
authored
Ensure that API failures are logged when the retry strategy elects to not retry (#2406)
1 parent fff8eca commit f2abed8

File tree

1 file changed

+7
-10
lines changed

1 file changed

+7
-10
lines changed

operator/src/main/java/oracle/kubernetes/operator/helpers/ResponseStep.java

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -135,16 +135,13 @@ protected final NextAction doContinueListOrNext(CallResponse<T> callResponse, Pa
135135
* @return Next action for retry or null, if no retry is warranted
136136
*/
137137
private NextAction doPotentialRetry(Step conflictStep, Packet packet, CallResponse<T> callResponse) {
138-
RetryStrategy retryStrategy = packet.getSpi(RetryStrategy.class);
139-
if (retryStrategy != null) {
140-
return retryStrategy.doPotentialRetry(conflictStep, packet, callResponse.getStatusCode());
141-
}
142-
143-
LOGGER.fine(MessageKeys.ASYNC_NO_RETRY,
144-
callResponse.getExceptionString(),
145-
callResponse.getStatusCode(),
146-
callResponse.getHeadersString());
147-
return null;
138+
return Optional.ofNullable(packet.getSpi(RetryStrategy.class))
139+
.map(rs -> rs.doPotentialRetry(conflictStep, packet, callResponse.getStatusCode()))
140+
.orElseGet(() -> {
141+
LOGGER.fine(MessageKeys.ASYNC_NO_RETRY,
142+
callResponse.getExceptionString(), callResponse.getStatusCode(), callResponse.getHeadersString());
143+
return null;
144+
});
148145
}
149146

150147
/**

0 commit comments

Comments
 (0)