You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Currently, the spec has support for a message being acknowledged (indicating that processing has completed successfully) but nothing to indicate that processing of a message failed.
This is highlighted by the proposed Emitter API in #87. Emitter.send(T) returns a CompletionStage<Void> which completes when the message is acknowledged, but because it's a CompletionStage, you would expect it to complete exceptionally if message processing fails.
Adding message failure reporting might also open up new possibilities for better ways of handling processing failures. At the moment, the only option is to send a failure signal downstream, causing the stream to terminate (unless the user adds some kind of recovery, but the RM spec doesn't include any tools for doing that.) If message failure reporting were available, it might make more sense to propagate the failure back to the source of the message, allowing the source retry processing (by sending the same message again) or take some other recovery action (such as sending the message to a dead letter queue).
The text was updated successfully, but these errors were encountered:
Not sure if I completely understood the original issue.
I'd also expect to completeExceptionally if e.g. the underlying sender can't send the message/payload before even hitting e.g. Kafka, the exception should also bubble up.
My use case is to do Schema enforcement so that if the sender's message does not conform ot the schema, it will be caught way before the message hits Kafka.
Currently, the spec has support for a message being acknowledged (indicating that processing has completed successfully) but nothing to indicate that processing of a message failed.
This is highlighted by the proposed
Emitter
API in #87.Emitter.send(T)
returns aCompletionStage<Void>
which completes when the message is acknowledged, but because it's aCompletionStage
, you would expect it to complete exceptionally if message processing fails.Adding message failure reporting might also open up new possibilities for better ways of handling processing failures. At the moment, the only option is to send a failure signal downstream, causing the stream to terminate (unless the user adds some kind of recovery, but the RM spec doesn't include any tools for doing that.) If message failure reporting were available, it might make more sense to propagate the failure back to the source of the message, allowing the source retry processing (by sending the same message again) or take some other recovery action (such as sending the message to a dead letter queue).
The text was updated successfully, but these errors were encountered: