apache / apache/pulsar-client-cpp

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

Đang mở
#471 1 bình luận 0 reaction 0 người được giao Xem trên GitHub
Ngôn ngữ chính
C++
Star
71
Fork
90
Merge trung bình
2 giờ 33 phút
Pull request đã merge (30 ngày)
3

Mô tả

### 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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Hướng nghiên cứu

Bắt đầu bằng cách xem xét các điểm vào C-API hiện có được sử dụng khi thư viện client được tải trong thời gian chạy bằng dlopen. Xác định cách có thể cung cấp phiên bản client và phiên bản broker được kết nối để đưa ra quyết định về tính năng và ghi log, sau đó xác nhận hành vi dự kiến và dạng API với các maintainer. Được xem là hoàn thành khi có thể truy vấn cả hai phiên bản nếu chúng khả dụng và chúng được bao phủ bởi các bài kiểm thử phù hợp.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Đánh giá

Công nghệ
cpp
Lĩnh vực
api, distributed-systems
Loại issue
Tính năng
Độ khó
5/5
Thời gian dự kiến
Hơn một tuần
Mức độ hoạt động
Đình trệ
Độ rõ ràng
Khá rõ ràng
Mức phù hợp với người mới
30/100

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.