[ 
https://issues.apache.org/jira/browse/YARN-9349?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Anuhan Torgonshar updated YARN-9349:
------------------------------------
    Description: 
There are *inconsistent* log level practices when code catches 
*_InvalidStateTransitionException_* for _*doTransition()*_ method.
{code:java}
**************WARN level******************
/**
  file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\containermanager\application\ApplicationImpl.java
  log statement line number: 482
  log level:warn
**/
try {
   // queue event requesting init of the same app
   newState = stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
   LOG.warn("Can't handle this event at current state", e);
}

/**
  file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\containermanager\localizer\LocalizedResource.java
  log statement line number: 200
  log level:warn
**/
try {
   newState = this.stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
   LOG.warn("Can't handle this event at current state", e);
}

/**
  file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\containermanager\container\ContainerImpl.java
  log statement line number: 1156
  log level:warn
**/
try {
    newState =
    stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
    LOG.warn("Can't handle this event at current state: Current: ["
    + oldState + "], eventType: [" + event.getType() + "]", e);
}

**************ERROR level*****************
/**
file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-resourcemanager\src\main\java\org\apache\hadoop\yarn\server\resourcemanager\rmapp\attempt\RMAppAttemptImpl.java
log statement line number:878
log level: error
**/
try {
   /* keep the master in sync with the state machine */
   this.stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
   LOG.error("App attempt: " + appAttemptID
   + " can't handle this event at current state", e);
   onInvalidTranstion(event.getType(), oldState);
}

/**
file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-resourcemanager\src\main\java\org\apache\hadoop\yarn\server\resourcemanager\rmnode\RMNodeImpl.java
log statement line number:623
log level: error
**/
try {
   stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
   LOG.error("Can't handle this event at current state", e);
   LOG.error("Invalid event " + event.getType() + 
   " on Node " + this.nodeId);
}

.... 
//There are 8 similar code snippets with ERROR log level.

{code}
After have a look on whole project, I found that there are 8 similar code 
snippets assgin the ERROR level to log statement. And there are just 3 places 
choose  the WARNlevel when in same situations. Therefor, I think these 3 log 
statements should be assigned ERROR level to keep consistent with other code 
snippets.

  was:
There are *inconsistent* log level practices when code catches 
*_InvalidStateTransitionException_* for _*doTransition()*_ method.
{code:java}
**************WARN level******************
/**
  file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\containermanager\application\ApplicationImpl.java
  log statement line number: 480
  log level:warn
**/
try {
   // queue event requesting init of the same app
   newState = stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
   LOG.warn("Can't handle this event at current state", e);
}

/**
  file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\containermanager\localizer\LocalizedResource.java
  log statement line number: 200
  log level:warn
**/
try {
   newState = this.stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
   LOG.warn("Can't handle this event at current state", e);
}

/**
  file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\containermanager\container\ContainerImpl.java
  log statement line number: 1156
  log level:warn
**/
try {
    newState =
    stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
    LOG.warn("Can't handle this event at current state: Current: ["
    + oldState + "], eventType: [" + event.getType() + "]", e);
}

**************ERROR level*****************
/**
file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-resourcemanager\src\main\java\org\apache\hadoop\yarn\server\resourcemanager\rmapp\attempt\RMAppAttemptImpl.java
log statement line number:878
log level: error
**/
try {
   /* keep the master in sync with the state machine */
   this.stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
   LOG.error("App attempt: " + appAttemptID
   + " can't handle this event at current state", e);
   onInvalidTranstion(event.getType(), oldState);
}

/**
file path: 
hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-resourcemanager\src\main\java\org\apache\hadoop\yarn\server\resourcemanager\rmnode\RMNodeImpl.java
log statement line number:623
log level: error
**/
try {
   stateMachine.doTransition(event.getType(), event);
} catch (InvalidStateTransitionException e) {
   LOG.error("Can't handle this event at current state", e);
   LOG.error("Invalid event " + event.getType() + 
   " on Node " + this.nodeId);
}

.... 
//There are 8 similar code snippets with ERROR log level.

{code}
After have a look on whole project, I found that there are 8 similar code 
snippets assgin the ERROR level to log statement. And there are just 3 places 
choose  the WARNlevel when in same situations. Therefor, I think these 3 log 
statements should be assigned ERROR level to keep consistent with other code 
snippets.


> When doTransition() method occurs exception, the log level practices are 
> inconsistent
> -------------------------------------------------------------------------------------
>
>                 Key: YARN-9349
>                 URL: https://issues.apache.org/jira/browse/YARN-9349
>             Project: Hadoop YARN
>          Issue Type: Improvement
>          Components: nodemanager
>    Affects Versions: 3.1.0, 2.8.5
>            Reporter: Anuhan Torgonshar
>            Priority: Major
>         Attachments: ApplicationImpl.java, ContainerImpl.java, 
> LocalizedResource.java
>
>
> There are *inconsistent* log level practices when code catches 
> *_InvalidStateTransitionException_* for _*doTransition()*_ method.
> {code:java}
> **************WARN level******************
> /**
>   file path: 
> hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\containermanager\application\ApplicationImpl.java
>   log statement line number: 482
>   log level:warn
> **/
> try {
>    // queue event requesting init of the same app
>    newState = stateMachine.doTransition(event.getType(), event);
> } catch (InvalidStateTransitionException e) {
>    LOG.warn("Can't handle this event at current state", e);
> }
> /**
>   file path: 
> hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\containermanager\localizer\LocalizedResource.java
>   log statement line number: 200
>   log level:warn
> **/
> try {
>    newState = this.stateMachine.doTransition(event.getType(), event);
> } catch (InvalidStateTransitionException e) {
>    LOG.warn("Can't handle this event at current state", e);
> }
> /**
>   file path: 
> hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-nodemanager\src\main\java\org\apache\hadoop\yarn\server\nodemanager\containermanager\container\ContainerImpl.java
>   log statement line number: 1156
>   log level:warn
> **/
> try {
>     newState =
>     stateMachine.doTransition(event.getType(), event);
> } catch (InvalidStateTransitionException e) {
>     LOG.warn("Can't handle this event at current state: Current: ["
>     + oldState + "], eventType: [" + event.getType() + "]", e);
> }
> **************ERROR level*****************
> /**
> file path: 
> hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-resourcemanager\src\main\java\org\apache\hadoop\yarn\server\resourcemanager\rmapp\attempt\RMAppAttemptImpl.java
> log statement line number:878
> log level: error
> **/
> try {
>    /* keep the master in sync with the state machine */
>    this.stateMachine.doTransition(event.getType(), event);
> } catch (InvalidStateTransitionException e) {
>    LOG.error("App attempt: " + appAttemptID
>    + " can't handle this event at current state", e);
>    onInvalidTranstion(event.getType(), oldState);
> }
> /**
> file path: 
> hadoop-2.8.5-src\hadoop-yarn-project\hadoop-yarn\hadoop-yarn-server\hadoop-yarn-server-resourcemanager\src\main\java\org\apache\hadoop\yarn\server\resourcemanager\rmnode\RMNodeImpl.java
> log statement line number:623
> log level: error
> **/
> try {
>    stateMachine.doTransition(event.getType(), event);
> } catch (InvalidStateTransitionException e) {
>    LOG.error("Can't handle this event at current state", e);
>    LOG.error("Invalid event " + event.getType() + 
>    " on Node " + this.nodeId);
> }
> .... 
> //There are 8 similar code snippets with ERROR log level.
> {code}
> After have a look on whole project, I found that there are 8 similar code 
> snippets assgin the ERROR level to log statement. And there are just 3 places 
> choose  the WARNlevel when in same situations. Therefor, I think these 3 log 
> statements should be assigned ERROR level to keep consistent with other code 
> snippets.



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

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to