You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@oozie.apache.org by "Andras Salamon (JIRA)" <ji...@apache.org> on 2019/05/29 14:35:00 UTC

[jira] [Comment Edited] (OOZIE-3489) TestBulkWorkflowXCommand.testbulkWfKillSuccess is flaky

    [ https://issues.apache.org/jira/browse/OOZIE-3489?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16843913#comment-16843913 ] 

Andras Salamon edited comment on OOZIE-3489 at 5/29/19 2:34 PM:
----------------------------------------------------------------

The reason for the flakiness is the fact that {{KillXCommand}} changes the status of the action to KILLED and queues {{ActionKillXCommand}} s: https://github.com/apache/oozie/blob/master/core/src/main/java/org/apache/oozie/command/wf/KillXCommand.java#L151-L157

Later {{ActionKillXCommand}} tries to kill the yarn job, but we don't really have any yarn job in this test, so it will change the status to FAILED.

If the assert run before {{ActionKillXCommand}} it's good, if it runs later, it gives an error.

I've changed the code, to also accept FAILED status, I've also cleaned the code a bit.


was (Author: asalamon74):
The reason for the flakiness is the fact that {{KillXCommand}} changes the status of the action to KILLED and queues {{ActionKillXCommand}}s: https://github.com/apache/oozie/blob/master/core/src/main/java/org/apache/oozie/command/wf/KillXCommand.java#L151-L157

Later {{ActionKillXCommand}} tries to kill the yarn job, but we don't really have any yarn job in this test, so it will change the status to FAILED.

If the assert run before {{ActionKillXCommand}} it's good, if it runs later, it gives an error.

I've changed the code, to also accept FAILED status, I've also cleaned the code a bit.

> TestBulkWorkflowXCommand.testbulkWfKillSuccess is flaky
> -------------------------------------------------------
>
>                 Key: OOZIE-3489
>                 URL: https://issues.apache.org/jira/browse/OOZIE-3489
>             Project: Oozie
>          Issue Type: Sub-task
>          Components: tests
>    Affects Versions: trunk
>            Reporter: Andras Salamon
>            Assignee: Andras Salamon
>            Priority: Major
>         Attachments: OOZIE-3489-01.patch
>
>
> testbulkWfKillSuccess method of TestBulkWorkflowXCommand is flaky, sometimes it fails with the following error message:
> {noformat}
> expected:<KILLED> but was:<FAILED>
>         at junit.framework.Assert.fail(Assert.java:57)
>         at junit.framework.Assert.failNotEquals(Assert.java:329)
>         at junit.framework.Assert.assertEquals(Assert.java:78)
>         at junit.framework.Assert.assertEquals(Assert.java:86)
>         at junit.framework.TestCase.assertEquals(TestCase.java:253)
>         at org.apache.oozie.command.wf.TestBulkWorkflowXCommand.verifyActionStatus(TestBulkWorkflowXCommand.java:202)
>         at org.apache.oozie.command.wf.TestBulkWorkflowXCommand.testbulkWfKillSuccess(TestBulkWorkflowXCommand.java:96)
>         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>         at java.lang.reflect.Method.invoke(Method.java:498)
>         at junit.framework.TestCase.runTest(TestCase.java:176)
>         at junit.framework.TestCase.runBare(TestCase.java:141)
>         at junit.framework.TestResult$1.protect(TestResult.java:122)
>         at junit.framework.TestResult.runProtected(TestResult.java:142)
>         at junit.framework.TestResult.run(TestResult.java:125)
>         at junit.framework.TestCase.run(TestCase.java:129)
>         at junit.framework.TestSuite.runTest(TestSuite.java:255)
>         at junit.framework.TestSuite.run(TestSuite.java:250)
>         at org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:84)
>         at org.junit.runners.Suite.runChild(Suite.java:127)
>         at org.junit.runners.Suite.runChild(Suite.java:26)
>         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>         at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63)
>         at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>         at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>         at org.junit.runners.Suite.runChild(Suite.java:127)
>         at org.junit.runners.Suite.runChild(Suite.java:26)
>         at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238)
>         at org.apache.maven.surefire.junitcore.pc.Scheduler$1.run(Scheduler.java:410)
>         at org.apache.maven.surefire.junitcore.pc.InvokerStrategy.schedule(InvokerStrategy.java:54)
>         at org.apache.maven.surefire.junitcore.pc.Scheduler.schedule(Scheduler.java:367)
>         at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236)
>         at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53)
>         at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229)
>         at org.junit.runners.ParentRunner.run(ParentRunner.java:309)
>         at org.apache.maven.surefire.junitcore.pc.ParallelComputerBuilder$PC$1.run(ParallelComputerBuilder.java:593)
>         at org.apache.maven.surefire.junitcore.JUnitCore.run(JUnitCore.java:55)
>         at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.createRequestAndRun(JUnitCoreWrapper.java:137)
>         at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.executeEager(JUnitCoreWrapper.java:107)
>         at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:83)
>         at org.apache.maven.surefire.junitcore.JUnitCoreWrapper.execute(JUnitCoreWrapper.java:75)
>         at org.apache.maven.surefire.junitcore.JUnitCoreProvider.invoke(JUnitCoreProvider.java:159)
>         at org.apache.maven.surefire.booter.ForkedBooter.invokeProviderInSameClassLoader(ForkedBooter.java:373)
>         at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:334)
>         at org.apache.maven.surefire.booter.ForkedBooter.execute(ForkedBooter.java:119)
>         at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:407)
> {noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)