Skip to content

Commit 608d55e

Browse files
committed
Check proxy health only once during startup
1 parent 4831a55 commit 608d55e

2 files changed

Lines changed: 13 additions & 13 deletions

File tree

src/main/java/eu/openanalytics/containerproxy/backend/kubernetes/KubernetesBackend.java

Lines changed: 4 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -834,17 +834,10 @@ public boolean isProxyHealthy(Proxy proxy) {
834834
if (podInfo.isEmpty()) {
835835
continue;
836836
}
837-
for (int i = 0; i < 5; i++) {
838-
Optional<String> error = getContainerFailure(podInfo.get().getNamespace(), podInfo.get().getName());
839-
if (error.isPresent()) {
840-
slog.warn(proxy, error.get());
841-
return false;
842-
}
843-
try {
844-
// wait for k8s events to propagate
845-
Thread.sleep(1_000);
846-
} catch (InterruptedException ignored) {
847-
}
837+
Optional<String> error = getContainerFailure(podInfo.get().getNamespace(), podInfo.get().getName());
838+
if (error.isPresent()) {
839+
slog.warn(proxy, error.get());
840+
return false;
848841
}
849842
}
850843
return true;

src/main/java/eu/openanalytics/containerproxy/service/ProxyService.java

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -426,8 +426,15 @@ public Command resumeProxy(Authentication user, Proxy proxy, Map<String, String>
426426
}
427427

428428
public boolean isProxyHealthy(Proxy proxy) {
429-
if (!proxyDispatcherService.getDispatcher(proxy.getSpecId()).isProxyHealthy(proxy)) {
430-
return false;
429+
for (int i = 0; i < 5; i++) {
430+
if (!proxyDispatcherService.getDispatcher(proxy.getSpecId()).isProxyHealthy(proxy)) {
431+
return false;
432+
}
433+
try {
434+
// wait for events to propagate
435+
Thread.sleep(1_000);
436+
} catch (InterruptedException ignored) {
437+
}
431438
}
432439
if (proxy.getTargets().isEmpty()) {
433440
slog.info(proxy, "Proxy failed: no targets available");

0 commit comments

Comments
 (0)