>
> Hence I'll merge it unless there's objections tomorrow afternoon (13 EST).


I left a couple of minor comments.

On Thu, Oct 8, 2020 at 6:42 PM David Li <li.david...@gmail.com> wrote:

> Wes has taken a look and so have I now, and I think this should be OK.
> I know Krisztián preferred to defer it before, but now it does not
> bump the gRPC version everywhere to pass the tests.
>
> Hence I'll merge it unless there's objections tomorrow afternoon (13 EST).
>
> David
>
> On 10/8/20, Antoine Pitrou <anto...@python.org> wrote:
> >
> > I'll get to review the PR on Monday.  It may be too late for the release.
> >
> > Regards
> >
> > Antoine.
> >
> >
> > Le 08/10/2020 à 18:43, James Duong a écrit :
> >> Hi,
> >>
> >> I've edited my PR now so that:
> >> 1. The CMakefiles so that we can detect which namespace
> >> TlsCredentialsOptions are in, if any.
> >> 2. Conditionally compile the C++ Flight client to use the namespace to
> >> implement disabling server verification, or compile out the
> >> implementation
> >> and throw an error at runtime if it is not available and the user tries
> >> to
> >> enable it.
> >> 3. The tests are also conditionally compiled.
> >>
> >> I feel this gives us the best of both worlds:
> >> 1. Users of the newer gRPCs (1.27+) can take advantage of this option
> and
> >> the namespace is mapped automatically.
> >> 2. Users of gRPC pre-1.27 do not need to upgrade (but will see an error
> >> if
> >> they use this option).
> >> 3. This is all transparent to someone building gRPC. There's no need to
> >> use
> >> additional macros.
> >>
> >> This has now passed all 36 CI tests, except this travis-ci job that is
> >> still pending:
> >> https://travis-ci.org/github/apache/arrow/builds/734025800
> >>
> >> Are we comfortable getting this into 2.0.0 with this design? I feel it
> is
> >> low risk now, especially since upgrading is not mandatory.
> >>
> >> On Wed, Oct 7, 2020 at 4:15 PM Krisztián Szűcs
> >> <szucs.kriszt...@gmail.com>
> >> wrote:
> >>
> >>> There is still some work left to make the packaging builds pass on the
> >>> PR. Considering how close we are to the release I find it risky to
> >>> include that change to 2.0. So I'm in favor of postponing it to 3.0.
> >>>
> >>>
> >>> On Wed, Oct 7, 2020 at 11:10 PM Micah Kornfield <emkornfi...@gmail.com
> >
> >>> wrote:
> >>>>
> >>>> I agree with Antoine that we shouldn't be making changes to dependency
> >>>> versions so close to a release.  This is consistent with other types
> of
> >>>> changes that could have a potentially large blast radius
> >>>>
> >>>>  I don't have a strong opinion on what version we end up with though
> >>> (would
> >>>> need to do more research on compatibility guarantees)
> >>>>
> >>>> Micah
> >>>>
> >>>> On Wednesday, October 7, 2020, Neal Richardson <
> >>> neal.p.richard...@gmail.com>
> >>>> wrote:
> >>>>
> >>>>> On Wed, Oct 7, 2020 at 1:11 PM Antoine Pitrou <anto...@python.org>
> >>> wrote:
> >>>>>
> >>>>>>
> >>>>>> Le 07/10/2020 à 21:55, Neal Richardson a écrit :
> >>>>>>> * The only version that is a requirement is
> >>>>>>>
> >>>>>>
> >>>>>
> >>>
> https://github.com/apache/arrow/pull/8325/files#diff-2420b0c5b6bdad921f1d538f92d64b59R2516
> >>>>>> ,
> >>>>>>> and so that's the one we're concerned about increasing. If we can
> >>> keep
> >>>>> it
> >>>>>>> low with an #ifdef, great. That said, I have no idea how slow
> >>> people
> >>>>> are
> >>>>>> to
> >>>>>>> update gRPC, or even what constitutes "old", so I can't say how
> >>> much
> >>>>>> extra
> >>>>>>> complication it is worth to support old versions.
> >>>>>>
> >>>>>> Well, the gRPC version provided by Ubuntu 20.04 is 1.16.1.
> >>>>>>
> >>>>>
> >>>>> According to
> >>>>>
> >>>>>
> >>>
> https://github.com/apache/arrow/blob/master/cpp/cmake_modules/ThirdpartyToolchain.cmake#L2509
> >>>>> ,
> >>>>> we already require 1.17, which is newer than that. And we've required
> >>> that
> >>>>> for the last year:
> >>>>>
> >>>>>
> >>>
> https://github.com/apache/arrow/commit/a70cf783364b140cab172e1851b563295c46e333
> >>>>>
> >>>>>
> >>>>>>
> >>>>>>> * However, provided that the bundled build_grpc cmake macro works
> >>>>> (surely
> >>>>>>> we test that somewhere right?), if someone has
> >>>>>> ARROW_DEPENDENCY_SOURCE=AUTO
> >>>>>>> *and* they have old gRPC on their system, instead of a build
> >>> failure
> >>>>>>> they'll just get a slower build with the bundled grpc included.
> >>> That's
> >>>>>> not
> >>>>>>> a bad experience, and if the user doesn't like it, presumably they
> >>> can
> >>>>>>> upgrade system gRPC and rebuild.
> >>>>>>
> >>>>>> How do you upgrade system gRPC without potentially breaking other
> >>>>>> packages that rely on it?  If it's a system library, it's generally
> >>>>>> recommended to follow system-dictated lifecycles.
> >>>>>>
> >>>>>> I am not saying that we should ensure compatibility with antiquated
> >>>>>> versions of gRPC, but being incompatible with the version provided
> by
> >>>>>> Ubuntu 20.04 (a 6-month old distribution) may be exaggerated.
> >>>>>>
> >>>>>> Regards
> >>>>>>
> >>>>>> Antoine.
> >>>>>>
> >>>>>
> >>>
> >>
> >>
> >
>

Reply via email to