|
1 | 1 | package io.javaoperatorsdk.operator.processing;
|
2 | 2 |
|
3 |
| -import static io.javaoperatorsdk.operator.EventListUtils.containsCustomResourceDeletedEvent; |
4 |
| -import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getUID; |
5 |
| -import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getVersion; |
| 3 | +import java.util.HashMap; |
| 4 | +import java.util.HashSet; |
| 5 | +import java.util.Map; |
| 6 | +import java.util.Optional; |
| 7 | +import java.util.Set; |
| 8 | +import java.util.concurrent.ScheduledThreadPoolExecutor; |
| 9 | +import java.util.concurrent.TimeUnit; |
| 10 | +import java.util.concurrent.locks.ReentrantLock; |
6 | 11 |
|
7 | 12 | import io.fabric8.kubernetes.client.CustomResource;
|
8 | 13 | import io.fabric8.kubernetes.client.dsl.MixedOperation;
|
|
16 | 21 | import io.javaoperatorsdk.operator.processing.retry.GenericRetry;
|
17 | 22 | import io.javaoperatorsdk.operator.processing.retry.Retry;
|
18 | 23 | import io.javaoperatorsdk.operator.processing.retry.RetryExecution;
|
19 |
| -import java.util.HashMap; |
20 |
| -import java.util.HashSet; |
21 |
| -import java.util.Map; |
22 |
| -import java.util.Optional; |
23 |
| -import java.util.Set; |
24 |
| -import java.util.concurrent.ScheduledThreadPoolExecutor; |
25 |
| -import java.util.concurrent.TimeUnit; |
26 |
| -import java.util.concurrent.locks.ReentrantLock; |
27 | 24 | import org.slf4j.Logger;
|
28 | 25 | import org.slf4j.LoggerFactory;
|
29 | 26 |
|
| 27 | +import static io.javaoperatorsdk.operator.EventListUtils.containsCustomResourceDeletedEvent; |
| 28 | +import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getUID; |
| 29 | +import static io.javaoperatorsdk.operator.processing.KubernetesResourceUtils.getVersion; |
| 30 | + |
30 | 31 | /**
|
31 | 32 | * Event handler that makes sure that events are processed in a "single threaded" way per resource
|
32 | 33 | * UID, while buffering events which are received during an execution.
|
@@ -91,6 +92,7 @@ private DefaultEventHandler(
|
91 | 92 | public void close() {
|
92 | 93 | try {
|
93 | 94 | log.debug("Closing handler for {}", controllerName);
|
| 95 | + executor.shutdown(); |
94 | 96 | executor.awaitTermination(terminationTimeout, TimeUnit.SECONDS);
|
95 | 97 | } catch (InterruptedException e) {
|
96 | 98 | log.debug("Exception closing handler for {}: {}", controllerName, e.getLocalizedMessage());
|
|
0 commit comments