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_r353615760
##########
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:
Does this solve all of the issues What about a case when mailbox loop is
stuck trying to process some normal `Mail` (fired timer), that can not be
executed because of `LockHolder`?
Can we do anything in that scenario (except of relaying on the
`TaskCancelerWatchDog` to shutdown whole JVM)? Wasn't equivalent of this
scenario broken already before the mailbox? Isn't this the same, as pre mailbox
`Task` thread blocked on `checkpointLock` acquisition in for example
`StreamOneInputProcessor`?
Maybe this test is just invalid and could be dropped?
----------------------------------------------------------------
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