apache / apache/pulsar-client-cpp

Shared consumers do not receive messages in C++ and acknowledged messages get redelivered

Đang mở
#84 3 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ả

When using shared subscriptions with the C++ client we see the following issues:

* The consumers stop consuming silently after a period of time, without any obvious reasons (e.g. connection failure) or any unusual log messages. The issue seems to happen randomly. Recreating the consumers with the same parameters seems to fix this issue for a while. We are experiencing this issue both using the synchronous and the async APIs. The topic is non-partitioned persistent topic. The server is a standalone server. We only see this problem with shared consumers, it doesn't seem to happen if we change to exclusive.

* Acknowledged messages get redelivered to shared consumers in C++ after subscription. It seems to happen both with synchronous and async acknowledgment. The API docs on acknowledge() states that acknowleded messages should not be redelivered.

**To Reproduce**
Create shared consumers in C++ for a topic and call receive. The problem seems to happen randomly but relatively frequently. It does not occur with exclusive consumers.

**Expected behavior**
* At least one of the shared consumers should receive each message.
* Acknowledged messages should not be redelivered.

**Desktop (please complete the following information):**
- RedHat 7.x

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

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

Hướng nghiên cứu

Bắt đầu với luồng shared consumer C++ được mô tả trong issue, bao quát cả các lệnh gọi receive và acknowledge đồng bộ và bất đồng bộ. Tái hiện luồng này trên một topic persistent không phân vùng với shared consumers, so sánh với exclusive consumers và xác minh rằng mọi message đều được phân phối đến ít nhất một consumer mà các message đã được acknowledge không bị phân phối lại.

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
distributed-systems
Loại issue
Lỗi
Độ khó
4/5
Thời gian dự kiến
3-5 ngày
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
35/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.