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

MQTT QOS support level? #988

Open
snowfly568790005 opened this issue Jun 12, 2023 · 1 comment
Open

MQTT QOS support level? #988

snowfly568790005 opened this issue Jun 12, 2023 · 1 comment

Comments

@snowfly568790005
Copy link

Motivation

which version support mqtt v3/v5 QOS 1 2 and 3 ?

what is the plan /roadmap ?

thanks!

@tsturzl
Copy link
Contributor

tsturzl commented Sep 28, 2023

As far as I know QoS 0 and 1 are supported in either MQTT version. QoS 2 has not yet been supported, and I cannot speak to whether or not there is a plan to do so. QoS 2 is generally used to prevent duplicate messages on failure to receive PUBACK when using QoS 1, or more specifically QoS 2 provides exactly once semantics meaning the message there is more coordination to prevent a message from being sent again. You can achieve something similar if you use QoS 1 and configure the Pulsar namespace to de-duplicate messages, since that is a supported feature of Pulsar: https://pulsar.apache.org/docs/3.1.x/cookbooks-deduplication/

A QoS 1 publish on a Pulsar namespace with deduplication configured should appear similarly to Pulsar and MQTT clients similar to how you'd expect a QoS 2 message to work. That said the caveat to this is if you do intend to send 2 of the exact same messages in QoS 2 will allow that since they are 2 separate attempts to send messages so consumers will see both messages, however if you deduplicate Pulsar will deduplicate the message on the second attempt. Not a major caveat, but something to consider.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants