You are viewing a plain text version of this content. The canonical link for it is here.
Posted to mapreduce-issues@hadoop.apache.org by "Jason Lowe (JIRA)" <ji...@apache.org> on 2012/07/18 22:01:35 UTC

[jira] [Commented] (MAPREDUCE-4455) RMAppImpl state machine does not handle event ATTEMPT_KILLED at ACCEPTED

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

Jason Lowe commented on MAPREDUCE-4455:
---------------------------------------

Output from the test:

{noformat}
2012-07-18 19:30:15,528 INFO  [main] rmapp.TestRMAppTransitions (TestRMAppTransitions.java:testAppSubmittedKill(363)) - --- START: testAppSubmittedKill---
2012-07-18 19:30:15,768 INFO  [main] resourcetracker.InlineDispatcher (InlineDispatcher.java:dispatch(38)) - Dispatching the event org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptEvent.EventType: START
2012-07-18 19:30:15,768 INFO  [main] rmapp.RMAppImpl (RMAppImpl.java:handle(499)) - application_1342639815540_0001 State change from NEW to SUBMITTED
2012-07-18 19:30:15,769 INFO  [main] rmapp.RMAppImpl (RMAppImpl.java:handle(499)) - application_1342639815540_0001 State change from SUBMITTED to ACCEPTED
2012-07-18 19:30:15,769 INFO  [main] resourcetracker.InlineDispatcher (InlineDispatcher.java:dispatch(38)) - Dispatching the event org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptEvent.EventType: KILL
2012-07-18 19:30:15,770 INFO  [main] resourcetracker.InlineDispatcher (InlineDispatcher.java:dispatch(38)) - Dispatching the event org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppFailedAttemptEvent.EventType: ATTEMPT_KILLED
2012-07-18 19:30:15,773 ERROR [main] rmapp.RMAppImpl (RMAppImpl.java:handle(494)) - Can't handle this event at current state
org.apache.hadoop.yarn.state.InvalidStateTransitonException: Invalid event: ATTEMPT_KILLED at ACCEPTED
        at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:301)
        at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:43)
        at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:443)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl.handle(RMAppImpl.java:492)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl.handle(RMAppImpl.java:70)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.TestRMAppTransitions$TestApplicationEventDispatcher.handle(TestRMAppTransitions.java:103)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.TestRMAppTransitions$TestApplicationEventDispatcher.handle(TestRMAppTransitions.java:89)
        at org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.InlineDispatcher.dispatch(InlineDispatcher.java:43)
        at org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.InlineDispatcher$TestEventHandler.handle(InlineDispatcher.java:33)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl$BaseFinalTransition.transition(RMAppAttemptImpl.java:701)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl$BaseFinalTransition.transition(RMAppAttemptImpl.java:651)
        at org.apache.hadoop.yarn.state.StateMachineFactory$SingleInternalArc.doTransition(StateMachineFactory.java:357)
        at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:298)
        at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:43)
        at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:443)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl.handle(RMAppAttemptImpl.java:485)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.attempt.RMAppAttemptImpl.handle(RMAppAttemptImpl.java:80)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.TestRMAppTransitions$TestApplicationAttemptEventDispatcher.handle(TestRMAppTransitions.java:79)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.TestRMAppTransitions$TestApplicationAttemptEventDispatcher.handle(TestRMAppTransitions.java:65)
        at org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.InlineDispatcher.dispatch(InlineDispatcher.java:43)
        at org.apache.hadoop.yarn.server.resourcemanager.resourcetracker.InlineDispatcher$TestEventHandler.handle(InlineDispatcher.java:33)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl$KillAppAndAttemptTransition.transition(RMAppImpl.java:563)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl$KillAppAndAttemptTransition.transition(RMAppImpl.java:559)
        at org.apache.hadoop.yarn.state.StateMachineFactory$SingleInternalArc.doTransition(StateMachineFactory.java:357)
        at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:298)
        at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:43)
        at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:443)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl.handle(RMAppImpl.java:492)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl.handle(RMAppImpl.java:70)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.TestRMAppTransitions.testAppSubmittedKill(TestRMAppTransitions.java:369)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.junit.runners.model.FrameworkMethod$1.runReflectiveCall(FrameworkMethod.java:44)
        at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:15)
        at org.junit.runners.model.FrameworkMethod.invokeExplosively(FrameworkMethod.java:41)
        at org.junit.internal.runners.statements.InvokeMethod.evaluate(InvokeMethod.java:20)
        at org.junit.internal.runners.statements.RunBefores.evaluate(RunBefores.java:28)
        at org.junit.runners.BlockJUnit4ClassRunner.runNotIgnored(BlockJUnit4ClassRunner.java:79)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:71)
        at org.junit.runners.BlockJUnit4ClassRunner.runChild(BlockJUnit4ClassRunner.java:49)
        at org.junit.runners.ParentRunner$3.run(ParentRunner.java:193)
        at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:52)
        at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:191)
        at org.junit.runners.ParentRunner.access$000(ParentRunner.java:42)
        at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:184)
        at org.junit.runners.ParentRunner.run(ParentRunner.java:236)
        at org.apache.maven.surefire.junit4.JUnit4Provider.execute(JUnit4Provider.java:228)
        at org.apache.maven.surefire.junit4.JUnit4Provider.executeTestSet(JUnit4Provider.java:134)
        at org.apache.maven.surefire.junit4.JUnit4Provider.invoke(JUnit4Provider.java:113)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.maven.surefire.util.ReflectionUtils.invokeMethodWithArray(ReflectionUtils.java:189)
        at org.apache.maven.surefire.booter.ProviderFactory$ProviderProxy.invoke(ProviderFactory.java:165)
        at org.apache.maven.surefire.booter.ProviderFactory.invokeProvider(ProviderFactory.java:85)
        at org.apache.maven.surefire.booter.ForkedBooter.runSuitesInProcess(ForkedBooter.java:103)
        at org.apache.maven.surefire.booter.ForkedBooter.main(ForkedBooter.java:74)
{noformat}

It would be nice if the state machine transition tests would fail on any invalid state transition encountered during the tests so these can be caught more proactively in the future.
                
> RMAppImpl state machine does not handle event ATTEMPT_KILLED at ACCEPTED
> ------------------------------------------------------------------------
>
>                 Key: MAPREDUCE-4455
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-4455
>             Project: Hadoop Map/Reduce
>          Issue Type: Bug
>          Components: mrv2, resourcemanager
>            Reporter: Jason Lowe
>            Priority: Minor
>
> TestRMAppTransitions#testAppSubmittedKilled causes an invalid event exception but the test doesn't catch the error since the final app state is still killed.  Killed for the wrong reason, but the final state is the same.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira