hadoop-yarn-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Junping Du (JIRA)" <j...@apache.org>
Subject [jira] [Created] (YARN-2030) Use StateMachine to simplify handleStoreEvent() in RMStateStore
Date Sat, 10 May 2014 22:06:28 GMT
Junping Du created YARN-2030:
--------------------------------

             Summary: Use StateMachine to simplify handleStoreEvent() in RMStateStore
                 Key: YARN-2030
                 URL: https://issues.apache.org/jira/browse/YARN-2030
             Project: Hadoop YARN
          Issue Type: Improvement
            Reporter: Junping Du


Now the logic to handle different store events in handleStoreEvent() is as following:
{code}
if (event.getType().equals(RMStateStoreEventType.STORE_APP)
        || event.getType().equals(RMStateStoreEventType.UPDATE_APP)) {
      ...
      if (event.getType().equals(RMStateStoreEventType.STORE_APP)) {
        ...
      } else {
        ...
      }
      ...
      try {
        if (event.getType().equals(RMStateStoreEventType.STORE_APP)) {
          ...
        } else {
          ...
        }
      } 
      ...
    } else if (event.getType().equals(RMStateStoreEventType.STORE_APP_ATTEMPT)
        || event.getType().equals(RMStateStoreEventType.UPDATE_APP_ATTEMPT)) {
      ...
      if (event.getType().equals(RMStateStoreEventType.STORE_APP_ATTEMPT)) {
        ...
      } else {
        ...
      }
        ...
        if (event.getType().equals(RMStateStoreEventType.STORE_APP_ATTEMPT)) {
          ...
        } else {
          ...
        }
      }
      ...
    } else if (event.getType().equals(RMStateStoreEventType.REMOVE_APP)) {
    ...
    } else {
      ...
    }
}
{code}
This is not only confuse people but also led to mistake easily. We may leverage state machine
to simply this even no state transitions.



--
This message was sent by Atlassian JIRA
(v6.2#6252)

Mime
View raw message