[ 
https://issues.apache.org/jira/browse/HIVE-11572?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14702719#comment-14702719
 ] 

Gopal V commented on HIVE-11572:
--------------------------------

[~prasanth_j]: the patch LGTM, +1 except for the classpath reordering.

A better solution is to reorder a few lines down, where the HIVE_CLASSPATH is 
loaded before the HADOOP_CLASSPATH.

{code}
# also pass hive classpath to hadoop
if [ "$HIVE_CLASSPATH" != "" ]; then
  export HADOOP_CLASSPATH="${HIVE_CLASSPATH}:${HADOOP_CLASSPATH}";
fi
{code}

This will fix the DN issue, but lets Tez load its own slf4j configs as-is (when 
Tez switches to log4j2, then we'll have consistency there).

> Datanucleus loads Log4j1.x Logger from AppClassLoader
> -----------------------------------------------------
>
>                 Key: HIVE-11572
>                 URL: https://issues.apache.org/jira/browse/HIVE-11572
>             Project: Hive
>          Issue Type: Sub-task
>          Components: Logging
>    Affects Versions: 2.0.0
>            Reporter: Prasanth Jayachandran
>            Assignee: Prasanth Jayachandran
>             Fix For: 2.0.0
>
>         Attachments: HIVE-11572.patch
>
>
> As part of HIVE-11304, we moved from Log4j1.x to Log4j2. But DataNucleus log 
> messages gets logged to console when launching the hive cli. The reason is 
> DataNucleus is trying to load Log4j1.x Logger by traversing its class loader. 
> Although we use log4j-1.2-api bridge we are loading log4j-1.2.16 jar that was 
> pulled by ZooKeeper. We should make sure that there is no log4j-1.2.16 in 
> datanucleus classloader hierarchy (classpath). 
> DataNucleus logger has this 
> {code}
> NucleusLogger.class.getClassLoader().loadClass("org.apache.log4j.Logger");
>             loggerClass = org.datanucleus.util.Log4JLogger.class;
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to