You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@kudu.apache.org by Andrea Ferretti <fe...@gmail.com> on 2016/02/11 16:15:33 UTC

Version of Protobuf in the Java client

I see that the instructions for the Java client mention "protobuf
2.6.1 (it needs to be the exact version)".

Why is the exact version needed? Is there any chance that it will work
at runtime having different versions of protobuf in the classpath,
such as 2.5.0? What about newer versions such as protobuf 3?

Re: Version of Protobuf in the Java client

Posted by Andrea Ferretti <fe...@gmail.com>.
Perfect, thank you very much!

2016-02-11 17:14 GMT+01:00 Jean-Daniel Cryans <jd...@apache.org>:
> Exact, an internal dependency, an implementation detail if you are just
> consuming the jars. We've been careful not to even expose PB objects in the
> public APIs.
>
> J-D
>
> On Thu, Feb 11, 2016 at 8:04 AM, Andrea Ferretti <fe...@gmail.com>
> wrote:
>>
>> Thank you! So, if I understand correctly, version 2.6.1 is only needed
>> for building, while consumers are free to mix other versions, right?
>>
>> 2016-02-11 17:01 GMT+01:00 Jean-Daniel Cryans <jd...@apache.org>:
>> > My memory is a little fuzzy on why we require 2.6.1 specifically, the
>> > "it
>> > needs to be the exact version" language came with this commit from
>> > Julien
>> > without comments:
>> >
>> > https://github.com/cloudera/kudu/commit/88a99036dda648f1ddbe7e17098de523994c0631
>> >
>> > The move up to that version happened in:
>> >
>> > https://github.com/cloudera/kudu/commit/d92077ae93f095ff686d0dc7977712f4b55da0a0
>> >
>> > The latter commit explains how we use shading so that having other
>> > protobuf
>> > versions on the classpath won't break the Java client.
>> >
>> > Hope this helps,
>> >
>> > J-D
>> >
>> > On Thu, Feb 11, 2016 at 7:15 AM, Andrea Ferretti
>> > <fe...@gmail.com>
>> > wrote:
>> >>
>> >> I see that the instructions for the Java client mention "protobuf
>> >> 2.6.1 (it needs to be the exact version)".
>> >>
>> >> Why is the exact version needed? Is there any chance that it will work
>> >> at runtime having different versions of protobuf in the classpath,
>> >> such as 2.5.0? What about newer versions such as protobuf 3?
>> >
>> >
>
>

Re: Version of Protobuf in the Java client

Posted by Jean-Daniel Cryans <jd...@apache.org>.
Exact, an internal dependency, an implementation detail if you are just
consuming the jars. We've been careful not to even expose PB objects in the
public APIs.

J-D

On Thu, Feb 11, 2016 at 8:04 AM, Andrea Ferretti <fe...@gmail.com>
wrote:

> Thank you! So, if I understand correctly, version 2.6.1 is only needed
> for building, while consumers are free to mix other versions, right?
>
> 2016-02-11 17:01 GMT+01:00 Jean-Daniel Cryans <jd...@apache.org>:
> > My memory is a little fuzzy on why we require 2.6.1 specifically, the "it
> > needs to be the exact version" language came with this commit from Julien
> > without comments:
> >
> https://github.com/cloudera/kudu/commit/88a99036dda648f1ddbe7e17098de523994c0631
> >
> > The move up to that version happened in:
> >
> https://github.com/cloudera/kudu/commit/d92077ae93f095ff686d0dc7977712f4b55da0a0
> >
> > The latter commit explains how we use shading so that having other
> protobuf
> > versions on the classpath won't break the Java client.
> >
> > Hope this helps,
> >
> > J-D
> >
> > On Thu, Feb 11, 2016 at 7:15 AM, Andrea Ferretti <
> ferrettiandrea@gmail.com>
> > wrote:
> >>
> >> I see that the instructions for the Java client mention "protobuf
> >> 2.6.1 (it needs to be the exact version)".
> >>
> >> Why is the exact version needed? Is there any chance that it will work
> >> at runtime having different versions of protobuf in the classpath,
> >> such as 2.5.0? What about newer versions such as protobuf 3?
> >
> >
>

Re: Version of Protobuf in the Java client

Posted by Andrea Ferretti <fe...@gmail.com>.
Thank you! So, if I understand correctly, version 2.6.1 is only needed
for building, while consumers are free to mix other versions, right?

2016-02-11 17:01 GMT+01:00 Jean-Daniel Cryans <jd...@apache.org>:
> My memory is a little fuzzy on why we require 2.6.1 specifically, the "it
> needs to be the exact version" language came with this commit from Julien
> without comments:
> https://github.com/cloudera/kudu/commit/88a99036dda648f1ddbe7e17098de523994c0631
>
> The move up to that version happened in:
> https://github.com/cloudera/kudu/commit/d92077ae93f095ff686d0dc7977712f4b55da0a0
>
> The latter commit explains how we use shading so that having other protobuf
> versions on the classpath won't break the Java client.
>
> Hope this helps,
>
> J-D
>
> On Thu, Feb 11, 2016 at 7:15 AM, Andrea Ferretti <fe...@gmail.com>
> wrote:
>>
>> I see that the instructions for the Java client mention "protobuf
>> 2.6.1 (it needs to be the exact version)".
>>
>> Why is the exact version needed? Is there any chance that it will work
>> at runtime having different versions of protobuf in the classpath,
>> such as 2.5.0? What about newer versions such as protobuf 3?
>
>

Re: Version of Protobuf in the Java client

Posted by Jean-Daniel Cryans <jd...@apache.org>.
My memory is a little fuzzy on why we require 2.6.1 specifically, the "it
needs to be the exact version" language came with this commit from Julien
without comments:
https://github.com/cloudera/kudu/commit/88a99036dda648f1ddbe7e17098de523994c0631

The move up to that version happened in:
https://github.com/cloudera/kudu/commit/d92077ae93f095ff686d0dc7977712f4b55da0a0

The latter commit explains how we use shading so that having other protobuf
versions on the classpath won't break the Java client.

Hope this helps,

J-D

On Thu, Feb 11, 2016 at 7:15 AM, Andrea Ferretti <fe...@gmail.com>
wrote:

> I see that the instructions for the Java client mention "protobuf
> 2.6.1 (it needs to be the exact version)".
>
> Why is the exact version needed? Is there any chance that it will work
> at runtime having different versions of protobuf in the classpath,
> such as 2.5.0? What about newer versions such as protobuf 3?
>