You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@pulsar.apache.org by lordcheng10 <lo...@gmail.com> on 2022/10/02 02:30:42 UTC

Re: [DISCUSS] Changed pulsar-go-client minimum Go SDK version from 1.15 to 1.16

+1

Paul Gier <pa...@datastax.com> 于2022年10月1日周六 05:41写道:

> I thought about this a bit more and realized that ldflags doesn't really
> make sense in this case because this is a library, and we don't control the
> user's build environment.  It might work fine for the pulsar-perf binary,
> but doesn't really make sense in the context of users who are consuming the
> go client library as a module dependency.  So I looked into another option
> which uses the built in go runtime information to dynamically get the
> module version.  Even though it relies on the "debug" package, it doesn't
> depend on the user enabling debug info in the build.  It only depends on
> the build using go modules, which hopefully most users should be doing at
> this point.  Here is the PR, all feedback is appreciated!
> https://github.com/apache/pulsar-client-go/pull/856
>
> On Thu, Sep 29, 2022 at 8:57 AM Paul Gier <pa...@datastax.com> wrote:
>
> > +1
> > Passing the git ID and other version information via ldflags would be
> > better in my opinion than embedding a file.  It can be automated in the
> > Makefile, and the values can go directly into a variable, so you don't
> have
> > to do any string parsing.  The feature has been around a long time, so we
> > wouldn't need to increase the minimum Go version.
> >
> > On Thu, Sep 29, 2022 at 8:43 AM Ming Luo <ming.luo@kafkaesque.io
> .invalid>
> > wrote:
> >
> >> Have you thought about using ldflags to pass git commit or git tag which
> >> can be the actual version. This will tie into a build system
> automatically
> >> without additional files. We don't have to maintain the version
> >> information in git and a separate file.
> >> Here is an example.
> >>
> >>
> https://urldefense.com/v3/__https://stackoverflow.com/questions/11354518/application-auto-build-versioning/55090713*55090713__;Iw!!PbtH5S7Ebw!eR_uHNK3r-klu3s2SdSgZYyQ6vW7X2-gTWTxxFK-RzPj5G23CJbZyVTU4SJa4M8WEAc0rns0tm6aXT1eTEgWQlc-JZ8wSCs$
> >>
> >>
> >> On Thu, 29 Sept 2022 at 02:41, rxl@apache.org <ranxiaolong716@gmail.com
> >
> >> wrote:
> >>
> >> > Hello Matteo:
> >> >
> >> > Considering that some users are still using the Go 1.15 version, in
> the
> >> > 0.9.0 release, we still use the form of hard code and set the form of
> >> > pulsar-go-client to the version of 0.9.0. In order to ensure that the
> >> 0.9.0
> >> > release maintains backward compatibility, we may continue to do this
> >> for a
> >> > while. When we scrap Go 1.15, we will use the official Go embed to
> >> > dynamically configure pulsar Version information for -client-go.
> >> >
> >> > --
> >> > Thanks
> >> > Xiaolong Ran
> >> >
> >> > Matteo Merli <ma...@gmail.com> 于2022年9月29日周四 11:33写道:
> >> >
> >> > > +1
> >> > >
> >> > > It would be good to determine and document a compatibility policy to
> >> > state
> >> > > which versions are going to be supported and for how long.
> >> > >
> >> > > On Wed, Sep 28, 2022 at 8:31 PM 沈家琦 <gl...@gmail.com> wrote:
> >> > >
> >> > > > +1
> >> > > > pulsar-go-client from Go 1.15 to Go 1.16
> >> > > >
> >> > > > Thanks
> >> > > >
> >> > > > rxl@apache.org <ra...@gmail.com> 于2022年9月29日周四 11:11写道:
> >> > > >
> >> > > > > Hello everyone:
> >> > > > >
> >> > > > > In the current version of pulsar-go-client, we do not support
> >> > embedding
> >> > > > the
> >> > > > > version information of pulsar-go-client into
> >> > > > > Client Command to send to the Broker. Now the hard code is fixed
> >> to
> >> > > > 0.1.0.
> >> > > > > This makes it impossible for us to determine
> >> > > > > which version of pulsar-go-client the current user is using
> >> through
> >> > the
> >> > > > > version information.
> >> > > > >
> >> > > > > To support this feature, the more clumsy method is described
> using
> >> > > > > https://github.com/apache/pulsar-client-go/pull/820.
> >> > > > > However, Go 1.16 officially supports the feature of embed (
> >> > > > >
> >>
> https://urldefense.com/v3/__https://pkg.go.dev/embed__;!!PbtH5S7Ebw!eR_uHNK3r-klu3s2SdSgZYyQ6vW7X2-gTWTxxFK-RzPj5G23CJbZyVTU4SJa4M8WEAc0rns0tm6aXT1eTEgWQlc-3UTCMWo$
> >> ), which supports reading the
> >> > > > > specified file directly, which seems to be a more elegant way,
> but
> >> > this
> >> > > > > requires Go 1.16 version. Yes, the current minimum
> >> > > > > version supported by our pulsar-go-client is Go 1.15, which
> >> requires
> >> > us
> >> > > > to
> >> > > > > change the minimum version of
> >> > > > > pulsar-go-client from Go 1.15 to Go 1.16.
> >> > > > >
> >> > > > > So here we start a discussion within the community to see if we
> >> can
> >> > > make
> >> > > > > this change.
> >> > > > >
> >> > > > > --
> >> > > > > Thanks
> >> > > > > Xiaolong Ran
> >> > > > >
> >> > > >
> >> > > --
> >> > > --
> >> > > Matteo Merli
> >> > > <ma...@gmail.com>
> >> > >
> >> >
> >>
> >>
> >> --
> >> Powered by Pulsar
> >> Engineering, Kesque
> >>
> >
>