You are viewing a plain text version of this content. The canonical link for it is here.
Posted to yarn-issues@hadoop.apache.org by "Jian He (JIRA)" <ji...@apache.org> on 2017/06/02 00:30:04 UTC

[jira] [Created] (YARN-6683) Invalid event: COLLECTOR_UPDATE at KILLED

Jian He created YARN-6683:
-----------------------------

             Summary: Invalid event: COLLECTOR_UPDATE at KILLED
                 Key: YARN-6683
                 URL: https://issues.apache.org/jira/browse/YARN-6683
             Project: Hadoop YARN
          Issue Type: Bug
            Reporter: Jian He


{code}
2017-06-01 20:01:22,686 ERROR rmapp.RMAppImpl (RMAppImpl.java:handle(905)) - Can't handle this event at current state
org.apache.hadoop.yarn.state.InvalidStateTransitionException: Invalid event: COLLECTOR_UPDATE at KILLED
        at org.apache.hadoop.yarn.state.StateMachineFactory.doTransition(StateMachineFactory.java:305)
        at org.apache.hadoop.yarn.state.StateMachineFactory.access$300(StateMachineFactory.java:46)
        at org.apache.hadoop.yarn.state.StateMachineFactory$InternalStateMachine.doTransition(StateMachineFactory.java:448)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl.handle(RMAppImpl.java:903)
        at org.apache.hadoop.yarn.server.resourcemanager.rmapp.RMAppImpl.handle(RMAppImpl.java:118)
        at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager$ApplicationEventDispatcher.handle(ResourceManager.java:904)
        at org.apache.hadoop.yarn.server.resourcemanager.ResourceManager$ApplicationEventDispatcher.handle(ResourceManager.java:888)
        at org.apache.hadoop.yarn.event.AsyncDispatcher.dispatch(AsyncDispatcher.java:201)
        at org.apache.hadoop.yarn.event.AsyncDispatcher$1.run(AsyncDispatcher.java:127)
{code}

Below code already gets the RMApp instance and then send an event to RMApp to update the collector address. Instead of updating via event, it could just update via a method of RMApp. This also avoids state-machine changes i

{code}
          } else {
            String previousCollectorAddr = rmApp.getCollectorAddr();
            if (previousCollectorAddr == null
                || !previousCollectorAddr.equals(collectorAddr)) {
              // sending collector update event.
              RMAppCollectorUpdateEvent event =
                  new RMAppCollectorUpdateEvent(appId, collectorAddr);
              rmContext.getDispatcher().getEventHandler().handle(event);
            }
          }
{code}



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)

---------------------------------------------------------------------
To unsubscribe, e-mail: yarn-issues-unsubscribe@hadoop.apache.org
For additional commands, e-mail: yarn-issues-help@hadoop.apache.org