[Bug] [ARM] Partially acknowledged batches are not redelivered
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Plutôt claire
- Activité
- À l'abandon
- Stack technique
- cpp
- Domaine
- distributed-systems
Piste de recherche
Commencez par la boucle Consumer::receive et le chemin asynchrone Consumer::acknowledge en utilisant Message::getMessageId, puis reproduisez l’interruption d’un batch de 309 événements dans la configuration ARM décrite. C’est terminé lorsque, après n’avoir confirmé qu’une partie d’un batch et avoir redémarré, tous les événements du batch, y compris le reste non reçu, sont distribués à nouveau.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Search before asking
- I searched in the issues and found nothing similar.
Version
Debian GNU/Linux 10 (buster), aarch64 (but the executable is arm32), pulsar-client-cpp 3.3.0
Minimal reproduce step
- Send a batch of events to the Pulsar broker (in our reproduction, it is a batch size of 309).
- Receive these messages (we're using
pulsar::Consumer::receivein a loop), while continuously acknowledging them asynchronously (acknowledgements are done usingpulsar::Consumer::acknowledge(const MessageId &messageId), wheremessageIdispulsar::Message::getMessageId). - Terminate the program during the middle of receiving a batch (we're terminating after having received and acknowledged the 190/309 events from a batch).
- Resume the program.
What did you expect to see?
All of the events in the batch re-sent.
What did you see instead?
None of the events in the batch, including the ones never received are re-sent.
Anything else?
- We log the result of the acknowledgement in the callback method, which shows us that the most we've acknowledged is the
190thmessage in a batch. - Exclusive subscription.
- Running it on Gravitron2/3 processors.
- We've used the same broker and test with an x86_64 Pulsar 3.3.0 Pulsar client, and we've had no issues (RHEL8).
- We can actively see missing messages - we are just sending consecutive numbers and logging them. We're missing exactly 119, the amount remaining in the batch that we've not fully acknowledged.
- We've tried not immediately terminating - i.e. we stop receiving messages but continue to process any callbacks, to validate that we're just not seeing 119 callbacks missing, and nothing.
Are you willing to submit a PR?
- I'm willing to submit a PR!
- Langage dominant
- C++
- Étoiles
- 72
- Forks
- 93
- Métriques de merge des PR
- Aucune PR mergée en 30 j
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de apache/pulsar-client-cpp
-
Difficulté 3/5 Une demi-journée Accessibilité débutants 62/100
apache/pulsar-client-cpp#623 ·
-
[Bug] MessageTest fails to build with GCC 15.3.0 and 16.2.1 (-Werror=stringop-truncation)Peut-être pris @davlgd l’a pris il y a 3 jours. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 25/100
apache/pulsar-client-cpp#621 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 55/100
apache/pulsar-client-cpp#620 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 48/100
apache/pulsar-client-cpp#619 ·
-
Difficulté 4/5 3-5 jours Accessibilité débutants 20/100
apache/pulsar-client-cpp#618 ·
Toutes les issues de apache/pulsar-client-cpp
Issues similaires
-
documentation
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
EchoTools/nevr-runtime#2042 ·
Les mainteneurs répondent en général sous 1 jour
-
Download size and speed show scientific notation between 1000 and 1023 unitsPeut-être pris @RaphaelFakhri l’a pris aujourd’hui. Ouverte
Difficulté 2/5 Moins d'une heure Accessibilité débutants 88/100
kiwix/kiwix-desktop#1570 ·
Les mainteneurs répondent en général sous 1 jour
-
Device Request
Difficulté 2/5 Une demi-journée Accessibilité débutants 62/100
dresden-elektronik/deconz-rest-plugin#8686 ·
Les mainteneurs répondent en général sous 1 jour
-
nixos/noctalia-greeter: greeter finds no sessions (session dirs not passed via XDG_DATA_DIRS)Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
aminya/project_options#303 ·