calcite-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jacques Nadeau <jacq...@apache.org>
Subject Re: Dropping support for Guava versions earlier than 14
Date Sat, 03 Sep 2016 17:02:55 GMT
+1 on shading guava/protobuf.

On Sat, Sep 3, 2016 at 9:48 AM, Andrew Purtell <andrew.purtell@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 <jacques@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.purtell@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 <achalil@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" <jhyde@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 <jamestaylor@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 <apurtell@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 <jhyde@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)
> >>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message