-
Notifications
You must be signed in to change notification settings - Fork 55
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
fix: built-in MQTT bridge handling of QoS 0 messages published to the cloud topic #3028
fix: built-in MQTT bridge handling of QoS 0 messages published to the cloud topic #3028
Conversation
Signed-off-by: Reuben Miller <[email protected]>
Messages with packet id 0 should be handled differently as they won't receive a PubAck or PubRec control messages hence it will never be removed from the hashmap and future messages with packet id 0 are ignored Signed-off-by: Reuben Miller <[email protected]>
bcc2c9e
to
fcaafac
Compare
Codecov ReportAttention: Patch coverage is
Additional details and impacted files
|
Robot Results
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The added test was reviewed and it is passing
Signed-off-by: Reuben Miller <[email protected]>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM. At least the change that skips caching of QoS 0 messages.
Proposed changes
Messages with packet id 0 should be handled differently as they won't receive a PubAck or PubRec control messages hence it will never be removed from the hashmap and future messages with packet id 0 are ignored.
This should resolve the last incident seen on the OSADL slot 2 device, as the tedge mapper went unresponsive after requesting a file from the device, which most likely invoked a JWT request, which never was answered. Note, that the problem is limited to publishing messages directly to the cloud topic with QoS 0, as publishing a message to the
te/#
topics will be republished to thec8y/#
topics with QoS > 0 (something automatically done by the bridge, to ensure reliable cloud communication).Types of changes
Paste Link to the issue
Checklist
cargo fmt
as mentioned in CODING_GUIDELINEScargo clippy
as mentioned in CODING_GUIDELINESFurther comments