James - When Stack is finished coprocessors will work with shaded protobuf. Not 
yet. 

> On Sep 3, 2016, at 10:07 AM, James Taylor <jamestay...@apache.org> wrote:
> 
> Also agree - shading of guava & protobuf would be super valuable. Phoenix
> ended up not supporting shading of protobuf because of difficulties getting
> it to work (maybe because HBase dependency?). I think we support shading of
> Guava, though. Is that correct, Sergey?
> 
>> On Sat, Sep 3, 2016 at 10:02 AM, Jacques Nadeau <jacq...@apache.org> wrote:
>> 
>> +1 on shading guava/protobuf.
>> 
>> On Sat, Sep 3, 2016 at 9:48 AM, Andrew Purtell <andrew.purt...@gmail.com>
>> wrote:
>> 
>>> Since Calcite should become a widely used library (smile) I think it
>> would
>>> be prudent to shade Guava and protobuf if Calcite depends on them. Then
>> you
>>> will play very nicely indeed on the classpath no matter what versions are
>>> required by calling code.
>>> 
>>> Jacques - Good lord. Let me see about shading HBase use of Guava, or
>>> eliminating it. Unfortunately that will be no help in the short term.
>>> Related, our Stack is wrestling with shading protobuf already, and is
>> neck
>>> deep in the Swamp of Classloading at the moment.
>>> 
>>>> On Sep 3, 2016, at 9:06 AM, Jacques Nadeau <jacq...@apache.org> wrote:
>>>> 
>>>> It isn't a real solution but in Drill we solved the HBase
>> incompatibility
>>>> issue on the server side (for tests only) by patching Guava 18 to allow
>>> the
>>>> HBase Guava calls that are missing. They are really quite trivial and
>>>> support Andrew's arguments that Guava is the devil...
>>>> 
>>>> https://github.com/apache/drill/blob/master/exec/java-
>>> exec/src/main/java/org/apache/drill/exec/util/GuavaPatcher.java
>>>> 
>>>> On Sat, Sep 3, 2016 at 8:16 AM, Andrew Purtell <
>> andrew.purt...@gmail.com
>>>> 
>>>> wrote:
>>>> 
>>>>> While that seems very unfriendly of them, the main issue is Guava is
>> the
>>>>> devil (and protobuf is a minor demon). Would shading be an option?
>>>>> 
>>>>>> On Sep 3, 2016, at 2:03 AM, CPC <acha...@gmail.com> wrote:
>>>>>> 
>>>>>> Cassandra driver 3.x require min guava 16.0.1. If it detects an
>> earlier
>>>>>> version in classpath it stops working.
>>>>>> 
>>>>>>> On Sep 3, 2016 04:26, "Julian Hyde" <jh...@apache.org> wrote:
>>>>>>> 
>>>>>>> James & Andrew, I hear you. We’ll stay on Guava 12 if we have to.
>>>>>>> 
>>>>>>> But can we try an experiment to see if it’s possible to get away
>> with
>>>>> 14?
>>>>>>> 
>>>>>>> I propose that Maryann (who is developing the branch of Phoenix that
>>>>> uses
>>>>>>> Calcite) tries running with https://github.com/apache/
>>> calcite/pull/277
>>>>> <
>>>>>>> https://github.com/apache/calcite/pull/277>. If we discover
>> problems,
>>>>> we
>>>>>>> can try various solutions, like make the DateRangeRules disabled by
>>>>> default
>>>>>>> (these, and the Druid adapter, are the only parts of Calcite that
>> need
>>>>>>> Guava 14), or even copy the Guava classes that we need. If there
>>> aren’t
>>>>>>> problems, it means that we’ve slipped out of the shackles of inertia
>>>>> that
>>>>>>> are trying to drag us into an early grave.
>>>>>>> 
>>>>>>> Julian
>>>>>>> 
>>>>>>> 
>>>>>>>> On Sep 2, 2016, at 5:35 PM, James Taylor <jamestay...@apache.org>
>>>>> wrote:
>>>>>>>> 
>>>>>>>> On the server-side, HBase depends on Guava 12 (because Hadoop
>> depends
>>>>> on
>>>>>>>> the same). For that reason, we've made sure Phoenix can work with
>>> this
>>>>>>>> version too. Phoenix may not need to depend on Calcite on the
>>>>>>> server-side,
>>>>>>>> and Phoenix and HBase both have shading, so there may be some
>> avenues
>>>>> of
>>>>>>>> escape.
>>>>>>>> 
>>>>>>>> Sorry for the muddled answer.
>>>>>>>> 
>>>>>>>>> On Fri, Sep 2, 2016 at 5:21 PM, Andrew Purtell <
>> apurt...@apache.org
>>>> 
>>>>>>>> wrote:
>>>>>>>> 
>>>>>>>>> Use of Guava 14 introduces at least a compile time problem with
>>> HBase,
>>>>>>> upon
>>>>>>>>> which Phoenix depends, so I'm not sure Phoenix can move off of 13.
>>> I'd
>>>>>>> be
>>>>>>>>> happy to be proven wrong.
>>>>>>>>> 
>>>>>>>>>> On Fri, Sep 2, 2016 at 4:35 PM, Julian Hyde <jh...@apache.org>
>>>>> wrote:
>>>>>>>>>> 
>>>>>>>>>> Calcite currently supports a wide range of Guava versions, from
>>>>> 12.0.1
>>>>>>> to
>>>>>>>>>> 19.0*. For https://issues.apache.org/jira/browse/CALCITE-1334 <
>>>>>>>>>> https://issues.apache.org/jira/browse/CALCITE-1334> I’d like to
>>> use
>>>>>>>>>> RangeSet, which was introduced in Guava 14.
>>>>>>>>>> 
>>>>>>>>>> Would anyone have a problem if we made Calcite’s minimum Guava
>>>>> version
>>>>>>>>>> 14.0.1?
>>>>>>>>>> 
>>>>>>>>>> I see that Hive uses 14.0.1, Phoenix uses 13, Drill uses 18.
>>>>>>>>>> 
>>>>>>>>>> Julian
>>>>>>>>>> 
>>>>>>>>>> * Except for the Druid adapter, which requires 14; see
>>>>>>>>>> https://issues.apache.org/jira/browse/CALCITE-1325 <
>>>>>>>>>> https://issues.apache.org/jira/browse/CALCITE-1325>
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> 
>>>>>>>>> --
>>>>>>>>> Best regards,
>>>>>>>>> 
>>>>>>>>> - Andy
>>>>>>>>> 
>>>>>>>>> Problems worthy of attack prove their worth by hitting back. -
>> Piet
>>>>> Hein
>>>>>>>>> (via Tom White)
>> 

Reply via email to