Carsten Steckel created HIVE-20878:
--------------------------------------

             Summary: Hive Runner for Unit tests with Hive JDBC standanlone jar 
issue with log4j slf4j
                 Key: HIVE-20878
                 URL: https://issues.apache.org/jira/browse/HIVE-20878
             Project: Hive
          Issue Type: Bug
          Components: Hive, JDBC
    Affects Versions: 3.1.1, 3.1.0
         Environment: hive 3.1.1 and hive 3.1.0

backend hadoop 2.9.1

hive runner https://github.com/klarna/HiveRunner
            Reporter: Carsten Steckel


I have an standalone java application using the hive-jdbc-standalone.jar to 
create and drop databases, tables, indexes, views in a hive db via jdbc 
connection. I want to unit test the executed DDL operations via hive runner.

The hive jdbc standalone jar brings a lot of dependencies (and shades them), 
but that causes issues with using application context where there is logging 
infrastructure configure and in place.
java.lang.IncompatibleClassChangeError: Class 
org.apache.logging.slf4j.Log4jLoggerFactory does not implement the requested 
interface org.apache.hive.org.slf4j.ILoggerFactory
        at 
org.apache.hive.org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:285)
 

How to properly setup dependencies or exclusions? Should't a library like 
hive-jdbc leave logging to the "surrounging" application context? Why the 
dependency to logging?

Maybe related to [HIVE-20877] 



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

Reply via email to