JDBC all-In-one JAR packages conflicts

Hi Dremio,

The JDBC driver that is included in OSS Dremio distributable (and is available for download via Dremio web page) is an ‘all-in-one’ jar, i.e. it includes all its dependencies. Most of the dependencies are shaded and they are moved to ‘cdjd’ package, however there are a few dependencies that aren’t:

Dremio JDBC Driver 4.1.4:

  • org.apache.hadoop.fs
  • org.apache.logging
  • org.apache.yetus.audience
  • org.slf4j
  • org.yaml.snakeyaml
  • com.github.rollingmetrics
  • com.esotericssoftware.kryo

Dremio JDBC Driver 12.1.0:

  • org.slf4j
  • org.yaml.snakeyaml
  • org.checkerframework
  • com.github.rollingmetrics
  • com.lmax.distruptor

The unshaded packages included in Dremio JDBC JAR may (and they do in my case) conflict with application’s dependencies (in my case - as I am using version 4.1.4 - the libraries that conflict are org.apache.logging.log4j, org.slf4j, and org.yaml.snakeyaml). Resolving the conflicts is a cumbersome task as it involves identifying versions of libraries that are included in All-in-one Dremio JDBC JAR, aligning the dependencies (and excluding some) in application’s pom.xml. This also affects maintainability as such dependencies can’t be easily managed.

Is there a ‘thin’ version of Dremio JDBC Driver available with all it’s dependencies resolvable by Maven? Where can it be downloaded from?

Many Thanks

i guess it’s an issue on our side, the only visible dependency should be slf4j api to allow people to configure logging if needed. I’ll report to the engineering team