+1

Enrico

Il giorno mar 21 feb 2023 alle ore 10:23 Baodi Shi <ba...@apache.org>
ha scritto:
>
>  +1, Good idea.
>
> Thanks,
> Baodi Shi
>
>
> 在 2023年2月21日 15:24:45 上,avinash kala <avisu...@gmail.com> 写道:
>
> > +1, sounds good.
> >
> > On Tue, Feb 21, 2023, 12:39 PM Zixuan Liu <node...@gmail.com> wrote:
> >
> > +1, good idea!
> >
> >
> > Thanks,
> >
> > Zixuan
> >
> >
> > Zike Yang <z...@apache.org> 于2023年2月21日周二 11:33写道:
> >
> >
> > > Hi, all
> >
> > >
> >
> > > Currently, the Pulsar broker uses the field `client_version` to get
> >
> > > the version of the client. The client will send the client_version to
> >
> > > the broker through `CommandConnect` [0] during the connect or
> >
> > > `CommandAuthResponse ` [1] during the auth challenge. We could get the
> >
> > > client_version from the admin using `pulsar-admin topics stats xxx`
> >
> > > [2].
> >
> > >
> >
> > > But the `client_version ` only shows the version information. And
> >
> > > clients in different languages use their own separate version numbers.
> >
> > > This can lead to conflict. For example, the java client 2.10.2 uses
> >
> > > the same value `2.10.2` as the C++ client 2.10.2. And C++ client 3.0.0
> >
> > > may conflict with the future java client 3.0.0. The information of
> >
> > > `client_version` is incomplete. We could not determine what
> >
> > > language(or specific library) the client uses. This raises
> >
> > > inconvenience for debugging.
> >
> > >
> >
> > > I would like to propose adding the client language information to the
> >
> > > `client_version`. Like:
> >
> > > * `java-2.11.1` for Java client 2.11
> >
> > > * `cpp-3.1.2` for C++ client 3.1.2
> >
> > > * `go-0.9.0` for go client 0.9.0
> >
> > > We can easily do that because the `client_version` is a string type.
> >
> > >
> >
> > > In addition, the Nodejs client and Python client all use the
> >
> > > client_version of C++ client they depend on. So it will use `3.1.2` as
> >
> > > the client_verion in Nodejs client 1.8.0. This is incorrect, and I
> >
> > > think we need to fix them. We don't need to print the C++ client
> >
> > > version because we can get that information if we know the Nodejs or
> >
> > > Python client version.
> >
> > >
> >
> > > What do you think? Please share your thoughts if you have any ideas.
> >
> > >
> >
> > > [0]
> >
> > >
> >
> >
> > https://github.com/apache/pulsar/blob/e0b50c9ec5f12d0fb8275f235d8ac00e87a9099e/pulsar-common/src/main/proto/PulsarApi.proto#L269
> >
> > > [1]
> >
> > >
> >
> >
> > https://github.com/apache/pulsar/blob/e0b50c9ec5f12d0fb8275f235d8ac00e87a9099e/pulsar-common/src/main/proto/PulsarApi.proto#L309
> >
> > > [2] https://pulsar.apache.org/docs/next/admin-api-topics/#get-stats
> >
> > >
> >
> > > Thanks,
> >
> > > Zike Yang
> >
> > >
> >
> >
> >

Reply via email to