Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

How do we verify acknowledgement it the TCK? #13

Open
jroper opened this issue Sep 18, 2018 · 1 comment
Open

How do we verify acknowledgement it the TCK? #13

jroper opened this issue Sep 18, 2018 · 1 comment
Labels
Milestone

Comments

@jroper
Copy link
Member

jroper commented Sep 18, 2018

The question is how do we verify message acknowledgement in the TCK? It's a reasonably fundamental feature of the spec, so important to verify, but there are a number of challenges:

  1. Some messaging providers may only acknowledge every n messages, assuming idempotent messaging.
  2. Some messaging providers may not retry on failure, rather they might send failed messages to a dead letter queue.

I think the second point there is actually not an issue. The messaging spec is a spec for handling messages as a stream. When handling messages as a stream, messages don't fail, the stream does. Any failure that comes from the stream may or may not be related to a particular message, but the stream doesn't and can't tell you that. When a failure occurs, all you have is an exception, and zero or more unacknowledged messages. And I'm pretty sure all queues that support acknowledgement can at least be run in a mode where messages are retried if the message is neither acked nor nacked.

As for message providers that only acknowledge every n messages, we could potentially require that the configuration for the TCK is n == 1, even if that's not the default.

@hutchig hutchig added the ack label Feb 12, 2019
@Emily-Jiang Emily-Jiang added this to the 1.1 milestone Jun 18, 2019
lamtrhieu pushed a commit to lamtrhieu/microprofile-reactive-messaging that referenced this issue Nov 8, 2019
…s or when subscription failed in a synchronous manner.
@Emily-Jiang
Copy link
Member

Emily-Jiang commented Jul 22, 2020

Port the tests from https://github.com/smallrye/smallrye-reactive-messaging/tree/master/smallrye-reactive-messaging-provider/src/test/java/io/smallrye/reactive/messaging/ack and remove the ones that depends on Mutiny or other tests only related to SmallRye.

@Emily-Jiang Emily-Jiang modified the milestones: 2.0, 2.1 Mar 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants