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
MQTT pubsub and bindings components only Ack() a message if the app's callback returns without error, as documented by the Dapr APIs.
Actual Behavior
paho.mqtt.golang lib that Dapr MQTT components depend on always Ack() the message when the handler returns, even though both the pubsub and bindings components expect to be able to explicitly Ack() only on success of the app's handler.
Modify the pubsub conformance test subscription handler to always return failure.
Run the pubsub conformance test on any of the MQTT profiles several times.
Observe that the component moves on to the next message once all retries (5) are exhausted (i.e. the MQTT wrapper handler has returned to mqtt lib caller), even across subsequent runs of the test.
Compare with a different pubsub component (e.g. Kafka), the first message is continuously redelivered as it is not successfully acked, even across subsequent runs of the test.
Release Note
RELEASE NOTE: FIX MQTT messages are always acked even if handler returns an error
The text was updated successfully, but these errors were encountered:
Expected Behavior
MQTT pubsub and bindings components only
Ack()
a message if the app's callback returns without error, as documented by the Dapr APIs.Actual Behavior
paho.mqtt.golang lib that Dapr MQTT components depend on always
Ack()
the message when the handler returns, even though both the pubsub and bindings components expect to be able to explicitlyAck()
only on success of the app's handler.See eclipse-paho/paho.mqtt.golang#459 for details.
Steps to Reproduce the Problem
Release Note
RELEASE NOTE: FIX MQTT messages are always acked even if handler returns an error
The text was updated successfully, but these errors were encountered: