> On Oct. 10, 2014, 6:49 p.m., John Speidel wrote:
> > I don't feel comfortable with this test being merged as is.
> > If you need to resolve this before a proper fix is implemented, please 
> > ignore the test via @Ignore and file a Jira to properly fix the test.
> 
> jun aoki wrote:
>     Hi John, I hear your concern and agree with you two that the test should 
> not use asynchronous. 
>     But the test has been this way since 2012 and I am hesitent to drop the 
> test coverage by adding @Ignore.
>     
> https://github.com/apache/ambari/commits/trunk/ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java
> 
> John Speidel wrote:
>     Jun, first off thanks for taking the time to analyze this intermittent 
> test failure.
>     I spent the last hour looking at this test.  
>     My conclusion is that this is a very poorly written test from it's orgin. 
>  It is way too coarse grained, uses the NPE as an intentional error mechanism 
> and expects several iterations of doWork() to complete based on the states 
> returned by the test mocks.
>     Your changes, although they result in a passing test now, have several 
> issues.
>     - They circumvent the run method which under the case being tested, 
> catches the NPE and makes some state changes
>     - The changes are not written in a way that guarantees a deterministic 
> behavior: "while(count < 10)" is a big red flag
>     - The changes will make the test VERY confusing to anybody who needs to 
> fix these tests in the future
>     
>     All of the tests in this class need to be rewrittn in a way that is 
> deterministic and doesn't require obscure NPE exceptions or multiple 
> interations of doWork().
>     
>     I still feel it is better to @Ignore the test, or all of them in this 
> class for that matter, and have them fixed properly when possible.
> 
> jun aoki wrote:
>     Hi John, thank you for writing down to share details of you thoughts. I 
> agree all 3 bullets you mentioned, but only in my second patch.
>     
>     My first intention and patch is much simpler and to fix a "wrong if 
> statement".
>     https://reviews.apache.org/r/26510/diff/1/
>     
>     I still hesitant to drop the test coverage, but let me know if I don't 
> still convince you, I will just set a @Ignore on the test.

Jun,

The change that you made in patch 1 fixes a race condition where we could break 
out of the while loop if only one of the 2 conditiona are satisfied.
But, I still have a serious concern that this test could/will at some point 
loop forever because one or both of the conditions are not satisfied.

So, I will relunctantly agree to +1 the patch if 
- you add a relief valve to the test so that it fails out if the conditions 
aren't met in some period of time (something like 5 mins or we risk lots of 
intermittent failures)
- a Jira is filed to properly fix these tests in the near future
- we agree that the next time the test fails that we @Ignore it


- John


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/26510/#review56194
-----------------------------------------------------------


On Oct. 9, 2014, 10:05 p.m., jun aoki wrote:
> 
> -----------------------------------------------------------
> This is an automatically generated e-mail. To reply, visit:
> https://reviews.apache.org/r/26510/
> -----------------------------------------------------------
> 
> (Updated Oct. 9, 2014, 10:05 p.m.)
> 
> 
> Review request for Ambari and Yusaku Sako.
> 
> 
> Bugs: AMBARI-7622
>     https://issues.apache.org/jira/browse/AMBARI-7622
> 
> 
> Repository: ambari
> 
> 
> Description
> -------
> 
> Tweaked the waiting condition upon ActionScheduler
> 
> 
> Diffs
> -----
> 
>   
> ambari-server/src/test/java/org/apache/ambari/server/actionmanager/TestActionScheduler.java
>  a20f252 
> 
> Diff: https://reviews.apache.org/r/26510/diff/
> 
> 
> Testing
> -------
> 
> 
> Thanks,
> 
> jun aoki
> 
>

Reply via email to