apache / apache/pulsar-client-cpp

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

Ouverte
#84 3 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
Langage dominant
C++
Étoiles
71
Forks
90
Merge moyen
2 h 33 min
PR mergées (30 j)
3

Description

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

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par le flux C++ de shared consumers décrit dans l’issue, en couvrant les appels receive et acknowledge synchrones et asynchrones. Reproduisez-le sur un topic persistant non partitionné avec des shared consumers, comparez-le aux exclusive consumers et vérifiez que chaque message est remis à au moins un consumer sans que les messages acquittés soient remis à nouveau.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
cpp
Domaine
distributed-systems
Type d'issue
Bug
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.