Skip to content

Commit 323e60e

Browse files
committed
Event handler waits a long time before terminating operator-framework#436
1 parent 255c69f commit 323e60e

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

operator-framework-core/src/main/java/io/javaoperatorsdk/operator/processing/DefaultEventHandler.java

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,13 @@
11
package io.javaoperatorsdk.operator.processing;
22

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;
611

712
import io.fabric8.kubernetes.client.CustomResource;
813
import io.fabric8.kubernetes.client.dsl.MixedOperation;
@@ -16,17 +21,13 @@
1621
import io.javaoperatorsdk.operator.processing.retry.GenericRetry;
1722
import io.javaoperatorsdk.operator.processing.retry.Retry;
1823
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;
2724
import org.slf4j.Logger;
2825
import org.slf4j.LoggerFactory;
2926

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+
3031
/**
3132
* Event handler that makes sure that events are processed in a "single threaded" way per resource
3233
* UID, while buffering events which are received during an execution.
@@ -91,6 +92,7 @@ private DefaultEventHandler(
9192
public void close() {
9293
try {
9394
log.debug("Closing handler for {}", controllerName);
95+
executor.shutdown();
9496
executor.awaitTermination(terminationTimeout, TimeUnit.SECONDS);
9597
} catch (InterruptedException e) {
9698
log.debug("Exception closing handler for {}: {}", controllerName, e.getLocalizedMessage());

0 commit comments

Comments
 (0)