For Solr, the transitive dependencies are excluded by default. When there
are multiple SLF4j bindings, Solr errors out due to to multiple bindings
being loaded by different classloaders. I was surprised to notice that
Avatica server pulls in Avatica which in turns pulls in the dependencies
with no way to exclude them especially SLF4j since its not shaded. I'm not
sure there is a way to shade SLF4j as the comments mentioned in CALCITE-669.

I think the Avatica jar with dependencies is really useful since it is one
jar that gets used by the client. However for Avatica server, there are
cases where you want to embed the server in another project and will need
to exclude SLF4j due to versions or only wanting to have one version on the
classpath.

If there is another way to achieve this that would be great, but having the
Avatica server dependency include all the dependencies by default doesn't
seem like the right solution to me.

Kevin Risden
Apache Lucene/Solr Committer
Hadoop and Search Tech Lead | Avalon Consulting, LLC
<http://www.avalonconsult.com/>
M: 732 213 8417
LinkedIn <http://www.linkedin.com/company/avalon-consulting-llc> | Google+
<http://www.google.com/+AvalonConsultingLLC> | Twitter
<https://twitter.com/avalonconsult>

-------------------------------------------------------------------------------------------------------------
This message (including any attachments) contains confidential information
intended for a specific individual and purpose, and is protected by law. If
you are not the intended recipient, you should delete this message. Any
disclosure, copying, or distribution of this message, or the taking of any
action based on it, is strictly prohibited.

On Mon, May 2, 2016 at 8:42 AM, Josh Elser <[email protected]> wrote:

> Anything is possible :)
>
> I'd like to see a plan put forth on what we should do (more about the
> "why" behind those changes). Would you be willing to share this info?
>
>
> Kevin Risden wrote:
>
>> While trying to integrate Avatica server into Solr, I found that the
>> Avatica dependency has all the jars included. I'm not able to exclude
>> SLF4j
>> or other dependencies based on exclusions.
>>
>> This issue wasn't as bad before CALCITE-669 when there was the switch to
>> SLF4j.
>>
>> Would it be possible to release Avatica without all the dependencies
>> included or make two dependencies (one shaded and the other not)?
>>
>>
>> Kevin Risden
>>
>>

Reply via email to