Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Problems found
The first problem I found is that if the iotagent is provisioned with a group, and thus, subscribed to a topic if the broker disconnects in my case does not resubscribe to those topics, hence all the reports made from the devices will be ignored.
The second problem is about a bug in the code. As I could understand, in case of a disconnection it is supposed to wait a larger time every time it tries to reconnect and fail, it will try 5 times, but there is a problem with the function sleep, because it is not executed asynchronously and thus the reconnection times are not incremental, there will be 1 second between each trial because it is the default time in the mqtt library.
I could not fix the async problem either, I think it is related to the mqtt library and how its event handler works.
Proposed changes
Types of changes
What types of changes does your code introduce to the project: Put
an
x
in the boxes that applyfunctionality to not work as expected)
Checklist
Put an
x
in the boxes that apply. You can also fill these out aftercreating the PR. If you're unsure about any of them, don't hesitate to
ask. We're here to help! This is simply a reminder of what we are going
to look for before merging your code.
feature works
downstream modules