Varun Saxena commented on YARN-3916:

bq. Won't draining events on serviceStop have the same problem ?
Yes, you are correct. It will have the same problem. We may judge that queue is 
empty and go on to interrupt the thread while event is being handled.

bq. I think we can revert the change of YARN-3878 and fix the problem of 
YARN-3878 properly ?
Yeah lets do that. I think when Interrupted exception is thrown on put(issue in 
YARN-3878), we can reset the flag to false if queue is empty.
Thoughts ?

> DrainDispatcher#await should wait till event has been completely handled
> ------------------------------------------------------------------------
>                 Key: YARN-3916
>                 URL: https://issues.apache.org/jira/browse/YARN-3916
>             Project: Hadoop YARN
>          Issue Type: Bug
>    Affects Versions: 2.7.0
>            Reporter: Varun Saxena
>            Assignee: Varun Saxena
>            Priority: Critical
>         Attachments: YARN-3916.01.patch, YARN-3916.02.patch
> DrainDispatcher#await should wait till event has been completely handled.
> Currently it only checks for whether event queue has become empty.
> And in many tests we directly check for a state to be changed after calling 
> await.
> Sometimes, the states do not change by the time we check them as event has 
> not been completely handled.
> *This is causing test failures* such as YARN-3909 and YARN-3910 and may cause 
> other test failures as well.

This message was sent by Atlassian JIRA

Reply via email to