Hey Kafkas,

Would it make sense to offer a no-deps Kafka client (with third-party
packages like com.example.xxx relocated to a package like
org.apache.kafka.relocated.com.example.xxx)? cglib is one example of a
project that does this, in the form of cglib-nodep:

  http://search.maven.org/#search%7Cga%7C1%7Cg%3A%22cglib%22

I'm asking because in Druid, we are running into conflicts with Kafka's lz4
and Druid's lz4:

  https://github.com/druid-io/druid/issues/3266

We do have a classloader isolation mechanism for extensions like our Kafka
plugin, but unfortunately it doesn't help here. lz4 is used by Druid's base
classloader, which is a parent of the extension classloader, so Kafka's
won't get loaded. We could work around the problem by upgrading to 0.10,
but (a) we're hesitant since AFAIK this would mean dropping support for 0.9
brokers, and (b) this time it was lz4 but there may be other issues in the
future.

This may just be our problem to solve with a more creative classloader
setup, but I also wanted to float the idea of an easier-to-embed nodeps
kafka library.

Gian

Reply via email to