[ https://issues.apache.org/jira/browse/TEZ-4055?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16796849#comment-16796849 ]
Syed Shameerur Rahman commented on TEZ-4055: -------------------------------------------- [~jeagles] , The issue of missing logs is not seen in case of hivecli(not HS2) , To reproduce the issue # Start HS2 # Connect to HS2 with beeline Now we can see the issue of missing logs , Logs are not printed in beeline console as well as ${sys:test.tmp.dir}/log/hive.log. The possible reason would be while building tez it creates slf4j-log4j12-1.7.10.jar and slf4j-api-1.7.10.jar where as hadoop has slf4j-log4j12-1.7.25.jar and slf4j-api-1.7.25.jar which clearly conflicts. Now when we connect to HS2 with beeline SLF4J gives such a warning *SLF4J: Class path contains multiple SLF4J bindings.* According to the information in [https://www.slf4j.org/codes.html#multiple_bindings] Even when multiple bindings are present, SLF4J will pick one logging framework/implementation and bind with it. The way SLF4J picks a binding is determined by the JVM and for all practical purposes should be considered random. I think this is where the issue arises. Now coming to the solution i think rather than aligning the slf4j version to be same as hadoop as a long time solution we can exclude the creation of slf4j jars in tez with *<scope>provided</scope>* because any how JVM loads the slf4j JAR from hadoop. Any Suggestions ? > Align slf4j version to be same as Hadoop3 > ----------------------------------------- > > Key: TEZ-4055 > URL: https://issues.apache.org/jira/browse/TEZ-4055 > Project: Apache Tez > Issue Type: Bug > Affects Versions: 0.9.0, 0.9.1 > Reporter: Syed Shameerur Rahman > Priority: Major > Fix For: 0.10.0 > > Attachments: TEZ-4055.patch > > > Currently tez is using slf4j version 1.7.10 where as hadoop3 is using slf4j > version 1.7.25 , due to conflicting version of slf4j version no logs are > getting written in ${sys:test.tmp.dir}/log/hive.log. The statements > LOG.info("") , LOG.error("") . are directed to write logs into > ${sys:test.tmp.dir}/log/hive.log. > When we connect to HS2 with beeline the slf4j jars are being searched > SLF4J: Class path contains multiple SLF4J bindings. > SLF4J: Found binding in [jar:<hadoop_location>] > SLF4J: Found binding in [jar:<tez_location>] > SLF4J: See [http://www.slf4j.org/codes.html#multiple_bindings] for an > explanation. > SLF4J: Actual binding is of type > [org.apache.logging.slf4j.Log4jLoggerFactory] > cc [~hitesh] [~kshukla] -- This message was sent by Atlassian JIRA (v7.6.3#76005)