Skip to content

Handle receiveAsync() failures in MultiTopicsConsumer - #11843

Merged
merlimat merged 1 commit into
apache:masterfrom
merlimat:handle-multi-topics-receive-errors
Aug 31, 2021
Merged

Handle receiveAsync() failures in MultiTopicsConsumer#11843
merlimat merged 1 commit into
apache:masterfrom
merlimat:handle-multi-topics-receive-errors

Conversation

@merlimat

@merlimat merlimat commented Aug 30, 2021

Copy link
Copy Markdown
Contributor

Motivation

In MultiTopicsConsumer we're doing a receiveAsync() operation to transfer messages from the individual consumers into the shared queue, but we're not handling the failure path of the returned CompletableFuture.

This future should in theory never fail, but it fails if there is some bug in the code, as it was the case for #11824.

The main issue is that since we're not handle the future failure path, the exception stack traces are completely hidden, making debugging such issues more complicated.

Modification

  1. Print exception
  2. Retry later, to give it a chance to unblock itself

@merlimat merlimat added type/bug The PR fixed a bug or issue reported a bug doc-not-needed Your PR changes do not impact docs labels Aug 30, 2021
@merlimat merlimat added this to the 2.9.0 milestone Aug 30, 2021
@merlimat merlimat self-assigned this Aug 30, 2021
@lhotari

lhotari commented Sep 15, 2021

Copy link
Copy Markdown
Member

This PR causes a critical cleanup problem in the Pulsar Client 2.8.1. . The problem is reported in #12024 and fixed in #12044. Please review

eolivelli pushed a commit to datastax/pulsar that referenced this pull request Sep 24, 2021
bharanic-dev pushed a commit to bharanic-dev/pulsar that referenced this pull request Mar 18, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/client cherry-picked/branch-2.8 Archived: 2.8 is end of life doc-not-needed Your PR changes do not impact docs release/2.8.1 release/2.9.0 type/bug The PR fixed a bug or issue reported a bug

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants