Skip to content

Commit daca241

Browse files
shawkinsmanusa
authored andcommitted
removing declared interruptedexception
1 parent df8a550 commit daca241

File tree

8 files changed

+35
-34
lines changed

8 files changed

+35
-34
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@
6060
##### DSL Changes:
6161
- #3127 `StatusUpdatable.updateStatus` deprecated, please use patchStatus, editStatus, or replaceStatus
6262
- #3239 deprecated methods on SharedInformerFactory directly dealing with the OperationContext, withName, and withNamespace - the Informable interface should be used instead.
63-
- #3271 `Waitable.waitUntilReady` and `Waitable.waitUntilCondition` with throw a KubernetesClientTimeoutException instead of an IllegalArgumentException on timeout.
63+
- #3271 `Waitable.waitUntilReady` and `Waitable.waitUntilCondition` with throw a KubernetesClientTimeoutException instead of an IllegalArgumentException on timeout. The methods will also no longer throw an interrupted exception.
6464
`Waitable.withWaitRetryBackoff` and the associated constants are now deprecated.
6565

6666
##### Util Changes:

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/Waitable.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,9 @@ public interface Waitable<T, P> {
3131
@Deprecated
3232
double DEFAULT_BACKOFF_MULTIPLIER = 2d;
3333

34-
T waitUntilReady(long amount, TimeUnit timeUnit) throws InterruptedException;
34+
T waitUntilReady(long amount, TimeUnit timeUnit);
3535

36-
T waitUntilCondition(Predicate<P> condition, long amount, TimeUnit timeUnit) throws InterruptedException;
36+
T waitUntilCondition(Predicate<P> condition, long amount, TimeUnit timeUnit);
3737

3838
/**
3939
* Configure the backoff strategy to use when waiting for conditions, in case the watcher encounters a retryable error.

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/base/BaseOperation.java

Lines changed: 8 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
import io.fabric8.kubernetes.api.model.ObjectReference;
1919
import io.fabric8.kubernetes.client.dsl.WritableOperation;
2020
import io.fabric8.kubernetes.client.utils.CreateOrReplaceHelper;
21-
import org.slf4j.Logger;
22-
import org.slf4j.LoggerFactory;
2321

2422
import io.fabric8.kubernetes.api.builder.TypedVisitor;
2523
import io.fabric8.kubernetes.api.builder.Visitor;
@@ -383,15 +381,7 @@ public final T createOrReplace(T... items) {
383381
CreateOrReplaceHelper<T> createOrReplaceHelper = new CreateOrReplaceHelper<>(
384382
this::create,
385383
this::replace,
386-
m -> {
387-
try {
388-
return waitUntilCondition(Objects::nonNull, 1, TimeUnit.SECONDS);
389-
} catch (InterruptedException interruptedException) {
390-
LOG.warn("Interrupted while waiting for the resource to be created or replaced. Gracefully assuming the resource has not been created and doesn't exist. ({})", interruptedException.getMessage());
391-
Thread.currentThread().interrupt();
392-
}
393-
return null;
394-
},
384+
m -> waitUntilCondition(Objects::nonNull, 1, TimeUnit.SECONDS),
395385
m -> fromServer().get()
396386
);
397387

@@ -979,14 +969,12 @@ public final Boolean isReady() {
979969
}
980970

981971
@Override
982-
public T waitUntilReady(long amount, TimeUnit timeUnit) throws InterruptedException {
972+
public T waitUntilReady(long amount, TimeUnit timeUnit) {
983973
return waitUntilCondition(resource -> Objects.nonNull(resource) && getReadiness().isReady(resource), amount, timeUnit);
984974
}
985975

986976
@Override
987-
public T waitUntilCondition(Predicate<T> condition, long amount, TimeUnit timeUnit)
988-
throws InterruptedException {
989-
977+
public T waitUntilCondition(Predicate<T> condition, long amount, TimeUnit timeUnit) {
990978
CompletableFuture<T> future = new CompletableFuture<>();
991979
// tests the condition, trapping any exceptions
992980
Consumer<T> tester = obj -> {
@@ -1004,7 +992,7 @@ public T waitUntilCondition(Predicate<T> condition, long amount, TimeUnit timeUn
1004992
tester.accept(null);
1005993
}
1006994
}, new ResourceEventHandler<T>() {
1007-
995+
1008996
@Override
1009997
public void onAdd(T obj) {
1010998
tester.accept(obj);
@@ -1024,6 +1012,9 @@ public void onDelete(T obj, boolean deletedFinalStateUnknown) {
10241012
future.whenComplete((r,t) -> informer.stop());
10251013
informer.run();
10261014
return future.get(amount, timeUnit);
1015+
} catch (InterruptedException e) {
1016+
Thread.currentThread().interrupt();
1017+
throw KubernetesClientException.launderThrowable(e.getCause());
10271018
} catch (ExecutionException e) {
10281019
throw KubernetesClientException.launderThrowable(e.getCause());
10291020
} catch (TimeoutException e) {
@@ -1071,7 +1062,7 @@ public SharedIndexInformer<T> inform(ResourceEventHandler<T> handler, long resyn
10711062
private DefaultSharedIndexInformer<T, L> createInformer(long resync, Consumer<L> onList, ResourceEventHandler<T> handler) {
10721063
T i = getItem();
10731064
String name = (Utils.isNotNullOrEmpty(getName()) || i != null) ? checkName(i) : null;
1074-
1065+
10751066
// use the local context / namespace
10761067
DefaultSharedIndexInformer<T, L> informer = new DefaultSharedIndexInformer<>(getType(), new ListerWatcher<T, L>() {
10771068
@Override

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableImpl.java

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -250,10 +250,15 @@ public final Boolean isReady() {
250250
}
251251

252252
@Override
253-
public HasMetadata waitUntilReady(long amount, TimeUnit timeUnit) throws InterruptedException {
253+
public HasMetadata waitUntilReady(long amount, TimeUnit timeUnit) {
254254
HasMetadata meta = acceptVisitors(asHasMetadata(get()), visitors);
255255
ResourceHandler<HasMetadata, ?> h = handlerOf(meta);
256-
return h.waitUntilReady(client, config, meta.getMetadata().getNamespace(), meta, amount, timeUnit);
256+
try {
257+
return h.waitUntilReady(client, config, meta.getMetadata().getNamespace(), meta, amount, timeUnit);
258+
} catch (InterruptedException e) {
259+
Thread.currentThread().interrupt();
260+
throw KubernetesClientException.launderThrowable(e);
261+
}
257262
}
258263

259264
@Override
@@ -263,10 +268,15 @@ public VisitFromServerWritable<HasMetadata> dryRun(boolean isDryRun) {
263268

264269
@Override
265270
public HasMetadata waitUntilCondition(Predicate<HasMetadata> condition, long amount,
266-
TimeUnit timeUnit) throws InterruptedException {
271+
TimeUnit timeUnit) {
267272
HasMetadata meta = acceptVisitors(asHasMetadata(get()), visitors);
268273
ResourceHandler<HasMetadata, ?> h = handlerOf(meta);
269-
return h.waitUntilCondition(client, config, meta.getMetadata().getNamespace(), meta, condition, amount, timeUnit);
274+
try {
275+
return h.waitUntilCondition(client, config, meta.getMetadata().getNamespace(), meta, condition, amount, timeUnit);
276+
} catch (InterruptedException e) {
277+
Thread.currentThread().interrupt();
278+
throw KubernetesClientException.launderThrowable(e);
279+
}
270280
}
271281

272282

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImpl.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -83,14 +83,14 @@ public class NamespaceVisitFromServerGetWatchDeleteRecreateWaitApplicableListImp
8383
private final Boolean cascading;
8484

8585
@Override
86-
public List<HasMetadata> waitUntilReady(final long amount, final TimeUnit timeUnit) throws InterruptedException {
86+
public List<HasMetadata> waitUntilReady(final long amount, final TimeUnit timeUnit) {
8787
return waitUntilCondition(resource -> Objects.nonNull(resource) && getReadiness().isReady(resource), amount, timeUnit);
8888
}
8989

9090
@Override
9191
public List<HasMetadata> waitUntilCondition(Predicate<HasMetadata> condition,
9292
long amount,
93-
TimeUnit timeUnit) throws InterruptedException {
93+
TimeUnit timeUnit) {
9494
List<HasMetadata> items = acceptVisitors(asHasMetadata(item, true), visitors);
9595
if (items.isEmpty()) {
9696
return Collections.emptyList();
@@ -126,6 +126,9 @@ public List<HasMetadata> waitUntilCondition(Predicate<HasMetadata> condition,
126126
} catch (ExecutionException e) {
127127
itemsWithConditionNotMatched.add(meta);
128128
logAsNotReady(e.getCause(), meta);
129+
} catch (InterruptedException e) {
130+
Thread.currentThread().interrupt();
131+
throw KubernetesClientException.launderThrowable(e);
129132
}
130133
++i;
131134
}

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/dsl/internal/core/v1/ServiceOperationsImpl.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public ServiceOperationsImpl newInstance(OperationContext context) {
5858
}
5959

6060
@Override
61-
public Service waitUntilReady(long amount, TimeUnit timeUnit) throws InterruptedException {
61+
public Service waitUntilReady(long amount, TimeUnit timeUnit) {
6262
long started = System.nanoTime();
6363
super.waitUntilReady(amount, timeUnit);
6464
long alreadySpent = System.nanoTime() - started;

kubernetes-client/src/main/java/io/fabric8/kubernetes/client/utils/PodOperationUtil.java

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -81,9 +81,6 @@ public static void waitUntilReadyBeforeFetchingLogs(PodResource<Pod> podOperatio
8181
if (pod != null && pod.getStatus() != null && pod.getStatus().getPhase().equals("Pending")) {
8282
podOperation.waitUntilReady(logWaitTimeout, TimeUnit.SECONDS);
8383
}
84-
} catch (InterruptedException interruptedException) {
85-
Thread.currentThread().interrupt();
86-
LOG.debug("Interrupted while waiting for Pod to become Ready: {}", interruptedException.getMessage());
8784
} catch (Exception otherException) {
8885
LOG.debug("Error while waiting for Pod to become Ready: {}", otherException.getMessage());
8986
}

kubernetes-examples/src/main/java/io/fabric8/kubernetes/examples/JobExample.java

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,10 @@
1818
import io.fabric8.kubernetes.api.model.PodList;
1919
import io.fabric8.kubernetes.api.model.batch.v1.Job;
2020
import io.fabric8.kubernetes.api.model.batch.v1.JobBuilder;
21-
import io.fabric8.kubernetes.client.*;
21+
import io.fabric8.kubernetes.client.ConfigBuilder;
22+
import io.fabric8.kubernetes.client.DefaultKubernetesClient;
23+
import io.fabric8.kubernetes.client.KubernetesClient;
24+
import io.fabric8.kubernetes.client.KubernetesClientException;
2225
import org.slf4j.Logger;
2326
import org.slf4j.LoggerFactory;
2427

@@ -74,9 +77,6 @@ public static void main(String[] args) {
7477

7578
} catch (KubernetesClientException e) {
7679
logger.error("Unable to create job", e);
77-
} catch (InterruptedException interruptedException) {
78-
logger.warn("Interrupted while waiting for the job to be ready: {}", interruptedException.getMessage());
79-
Thread.currentThread().interrupt();
8080
}
8181
}
8282
}

0 commit comments

Comments
 (0)