Jose Luis López created MAPREDUCE-7544:
------------------------------------------

             Summary: 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


{{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