thingsboard icon indicating copy to clipboard operation
thingsboard copied to clipboard

[WIP][3.4.1] Bugfix coapClientState config update

Open YuriyLytvynchuk opened this issue 2 years ago • 1 comments

Pull Request description

issue: https://github.com/thingsboard/thingsboard/issues/7053

General checklist

  • [x] You have reviewed the guidelines document.
  • [x] PR name contains fix version. For example, "[3.3.4] Hotfix of some UI component" or "[3.4] New Super Feature".
  • [x] Description references specific issue.
  • [x] Description contains human-readable scope of changes.
  • [x] Description contains brief notes about what needs to be added to the documentation.
  • [ ] No merge conflicts, commented blocks of code, code formatting issues.
  • [x] Changes are backward compatible or upgrade script is provided.
  • [ ] Similar PR is opened for PE version to simplify merge. Required for internal contributors only.

Front-End feature checklist

  • [x] Screenshots with affected component(s) are added. The best option is to provide 2 screens: before and after changes;
  • [x] If you change the widget or other API, ensure it is backward-compatible or upgrade script is present.
  • [x] Ensure new API is documented here

Back-End feature checklist

  • [x] Added corresponding unit and/or integration test(s). Provide written explanation in the PR description if you have failed to add tests.
  • [x] If new dependency was added: the dependency tree is checked for conflicts.
  • [x] If new service was added: the service is marked with corresponding @TbCoreComponent, @TbRuleEngineComponent, @TbTransportComponent, etc.
  • [x] If new REST API was added: the RestClient.java was updated, issue for Python REST client is created.

YuriyLytvynchuk avatar Aug 08 '22 06:08 YuriyLytvynchuk

The reason why we added a device profile to the configuration class was no ability to verify the configuration using the equals method cause there descriptors fields that use in configuration have the following issue: https://github.com/protocolbuffers/protobuf/issues/7819

ShvaykaD avatar Aug 08 '22 07:08 ShvaykaD

I don't like this implementation. You should detect profile changes in a different way. Why the

CoapSessionListener.onDeviceProfileUpdate is not sufficient?

ashvayka avatar Aug 16 '22 09:08 ashvayka

The problem is that you don't have CoapSessionListener for the regular sessions that simply transmit data (no observations)

ashvayka avatar Aug 16 '22 09:08 ashvayka

The problem is that you don't have CoapSessionListener for the regular sessions that simply transmit data (no observations)

Hi @ashvayka, I agree that this is the root cause of the issue. There is no way to receive the update on CoapSessionListener.onDeviceProfileUpdate, cause there are no regular sessions. Could you please confirm if we need to implement the regular sessions for the coap clients to track the device profile updates, even when we don't have any observation sessions?

ShvaykaD avatar Aug 16 '22 10:08 ShvaykaD