+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 > > >