Hello Gang,

I'm reviewing some Maven POM files in the Hive project and I came across an
interesting issue.

The druid-handler project is shading an artifact called 'org.roaringbitmap'
'shims' '0.7.36'

https://github.com/apache/hive/blob/master/druid-handler/pom.xml#L336

Well, this 'shims' JAR file was compiled using Java 11.

https://search.maven.org/artifact/org.roaringbitmap/shims/0.7.36/jar

However, the Hive project is currently at Java 1.8 (I know there are plans
for upgrading soon).

So, as things stand right now, the druid-handler library is shading in a
Java 11 class, thereby making it required to run Java 11 to use the
druid-handler even though the Hive project itself is using Java 1.8.  I
noticed this because the shade plugin I am currently testing with was
failing to shade because of this discrepancy.

I think as an immediate workaround, we should not be shading and that this
library needs to be provided.  It is a transient dependency of
druid-processing (which itself is marked optional).

https://github.com/apache/hive/blob/master/druid-handler/pom.xml#L114

I don't think we should be shading druid or any of its dependencies until
the Hive project is using JDK 11.

Anyone have any thoughts here?

Reply via email to