apache / apache/pulsar-client-cpp

[Feature Request] Add the ability to query the version of the client

オープン
#471 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
C++
スター
71
フォーク
90
平均マージ
2時間 33分
マージ済み PR(30日)
3

説明

### Background
We develop an application that is able to run with or without pulsar installed, and for that to happen, we do not link with pulsar client (statically or dynamically).

Instead, we load the pulsar client library at runtime (using dlopen) and use the C-API to do what needs to be done.

This means that it is our customers responsibility to install and configure pulsar, and they *could* use any version.

### Request
Since we don't know the version of the pulsar client library at runtime, we cannot make full decisions on the differences of those versions.
E.g. When trying to use the pattern subscribe with the 2.9.2 client, there was an unhandled exception cancelling the topic refresh thread after unsubscribing. This caused our application to crash. This is now fixed in 3.0, but we want to disable that feature if using an older client.

It would be useful to query the client library as to what version it is.

This would also be useful for our logging so we can see what version a customer has installed, and try to reproduce their environment (note that customers don't always tell you the truth, logging information proves what they tell you).

Another useful feature (again for logging purposes) would be to know what the version of the server/broker the client is connected to. It will help with narrowing down problems and reproducing issues.

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

まず、クライアントライブラリが dlopen で実行時にロードされる場合に使用される既存の C-API エントリポイントを確認します。機能の判断とロギングのために、クライアントのバージョンと接続先ブローカーのバージョンをどのように公開できるかを検討し、その後、期待される動作と API の形をメンテナーに確認します。完了とは、利用可能な場合に両方のバージョンを照会でき、適切なテストでカバーされていることを意味します。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
cpp
領域
api, distributed-systems
issue の種類
機能追加
難易度
5/5
見積もり時間
1週間以上
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
30/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。