[
https://issues.apache.org/jira/browse/FLINK-9304?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16474390#comment-16474390
]
ASF GitHub Bot commented on FLINK-9304:
---------------------------------------
Github user tillrohrmann commented on a diff in the pull request:
https://github.com/apache/flink/pull/5962#discussion_r188004638
--- Diff:
flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/tasks/SystemProcessingTimeServiceTest.java
---
@@ -504,7 +475,101 @@ public void testShutdownAndWaitPending() {
Assert.fail("Unexpected interruption.");
}
- Assert.assertTrue(check.get());
+ Assert.assertTrue(timerExecutionFinished.get());
+ Assert.assertTrue(timeService.isTerminated());
+ }
+
+ @Test
+ public void testShutdownServiceUninterruptible() {
+ final Object lock = new Object();
+ final OneShotLatch blockUntilTriggered = new OneShotLatch();
+ final AtomicBoolean timerFinished = new AtomicBoolean(false);
+
+ final SystemProcessingTimeService timeService =
+ createBlockingSystemProcessingTimeService(lock,
blockUntilTriggered, timerFinished);
+
+ Assert.assertFalse(timeService.isTerminated());
+
+ final Thread interruptTarget = Thread.currentThread();
+ final AtomicBoolean runInterrupts = new AtomicBoolean(true);
+ final Thread interruptCallerThread = new Thread(() -> {
+ while (runInterrupts.get()) {
+ interruptTarget.interrupt();
+ try {
+ Thread.sleep(10);
+ } catch (InterruptedException ignore) {
+ }
+ }
+ });
+
+ interruptCallerThread.start();
+
+ final long timeoutMs = 1000L;
--- End diff --
Can we make this a bit faster?
> Timer service shutdown should not be interrupted
> ------------------------------------------------
>
> Key: FLINK-9304
> URL: https://issues.apache.org/jira/browse/FLINK-9304
> Project: Flink
> Issue Type: Bug
> Components: Streaming
> Affects Versions: 1.5.0, 1.4.2, 1.6.0
> Reporter: Stefan Richter
> Assignee: Stefan Richter
> Priority: Major
>
> Shutting down the timer service inĀ {{StreamTask::invoke}} can be interrupted
> by the cancellation thread and make waiting for the shutdown exit prematurely.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)