pnowojski commented on a change in pull request #10345: [FLINK-12484][runtime] 
synchronize all mailbox actions
URL: https://github.com/apache/flink/pull/10345#discussion_r353579563
 
 

 ##########
 File path: 
flink-streaming-java/src/test/java/org/apache/flink/streaming/runtime/tasks/StreamTaskTest.java
 ##########
 @@ -1433,35 +1423,16 @@ protected void init() {}
 
                @Override
                protected void processInput(MailboxDefaultAction.Controller 
controller) throws Exception {
-                       holder = new LockHolder(getCheckpointLock(), latch);
-                       holder.start();
-                       latch.await();
-
-                       // we are at the point where cancelling can happen
-                       syncLatch.trigger();
-
-                       // just put this to sleep until it is interrupted
-                       try {
-                               Thread.sleep(100000000);
-                       } catch (InterruptedException ignored) {
-                               // restore interruption state
-                               Thread.currentThread().interrupt();
+                       syncLatch.trigger(); // signal that the task can be 
cancelled now
+                       while (task.getExecutionState() == 
ExecutionState.RUNNING) { // wait for the containing task to be terminated from 
the outside
+                               try {
+                                       Thread.sleep(50);
+                               } catch (InterruptedException e) {
+                                       LOG.debug("interrupted while waiting 
for state transition", e);
+                                       Thread.currentThread().interrupt();
+                               }
 
 Review comment:
   What was the scenario that was causing the problems and motivated this 
change? Mailbox was stuck waiting (uninterruptibly?) on checkpoint lock 
acquisition by some mail, while `LockHolder` thread was blocking it? Why didn't 
the `TaskInterrupter` or `TaskCanceler` work?

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to