in src/main/java/org/opensearch/jobscheduler/sweeper/JobSweeper.java [402:421]
private <T, R> R retry(Function<T, R> function, T param, BackoffPolicy backoffPolicy) {
Set<RestStatus> retryalbeStatus = Sets.newHashSet(RestStatus.BAD_GATEWAY, RestStatus.GATEWAY_TIMEOUT,
RestStatus.SERVICE_UNAVAILABLE);
Iterator<TimeValue> iter = backoffPolicy.iterator();
do {
try {
return function.apply(param);
} catch (OpenSearchException e) {
if (iter.hasNext() && retryalbeStatus.contains(e.status())) {
try {
Thread.sleep(iter.next().millis());
} catch (InterruptedException ex) {
throw e;
}
} else {
throw e;
}
}
} while (true);
}