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

Shilun Fan resolved MAPREDUCE-7544.
-----------------------------------
    Fix Version/s: 3.5.1
                   3.6.0
     Hadoop Flags: Reviewed
       Resolution: Fixed

> JobEndNotifier should log through SLF4J
> ---------------------------------------
>
>                 Key: MAPREDUCE-7544
>                 URL: https://issues.apache.org/jira/browse/MAPREDUCE-7544
>             Project: Hadoop Map/Reduce
>          Issue Type: Improvement
>          Components: mr-am
>    Affects Versions: 3.6.0
>            Reporter: Jose Luis López
>            Assignee: Jose Luis López
>            Priority: Minor
>              Labels: pull-request-available
>             Fix For: 3.5.1, 3.6.0
>
>
> {{JobEndNotifier}} logs through {{org.eclipse.jetty.util.log.Log}}, Jetty's 
> own
> logging facade, rather than SLF4J as the rest of the tree does. It is the only
> class under any {{src/main}} in Hadoop that still does so.
> Two consequences:
> * {{Log.getLog()}} returns Jetty's root logger, so all fourteen messages are
>   emitted under the logger name {{org.eclipse.jetty.util.log}} rather than
>   {{org.apache.hadoop.mapreduce.v2.app.JobEndNotifier}}. Anyone configuring or
>   grepping logging by Hadoop package name never sees them, and anyone who 
> turns
>   Jetty's logging down loses them silently. This may be related to
>   MAPREDUCE-6899.
> * {{org.eclipse.jetty.util.log}} was deprecated in Jetty 9.4 and removed in
>   Jetty 10, so this class will not compile against Jetty 10 or later. It is 
> one
>   of the things HADOOP-19912 has to clear out of the way.
> It is also the only reason {{hadoop-mapreduce-client-app}} references Jetty 
> from
> its main sources at all; with this changed, the module names no Jetty type
> outside its tests.
> Proposed: switch to {{org.slf4j.Logger}} / {{LoggerFactory}} with a private
> static final LOG, and move the fourteen call sites to {} placeholder style
> rather than string concatenation.
> No pom change is needed: {{hadoop-mapreduce-client/pom.xml}}, the module's
> parent, already declares {{org.slf4j:slf4j-api}}.
> Out of scope: eight test classes still use the same Jetty facade, in
> hadoop-common (4), hadoop-yarn-client (2), hadoop-yarn-server-
> applicationhistoryservice (1) and hadoop-yarn-server-resourcemanager (1). 
> Those
> are worth a follow-up but are kept out of here so this change stays small 
> enough
> to backport.
> Raised by [~pan3793] in review of HADOOP-19970 (apache/hadoop PR #8699), where
> the change originally sat. Split out on his suggestion so it can be reviewed 
> and
> backported on its own.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

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

Reply via email to