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

Optimize package data associations for LoRa Cloud Modem & Geolocation Services #6342

Closed
4 tasks done
cvetkovski98 opened this issue Jun 28, 2023 · 0 comments · Fixed by #6395
Closed
4 tasks done

Optimize package data associations for LoRa Cloud Modem & Geolocation Services #6342

cvetkovski98 opened this issue Jun 28, 2023 · 0 comments · Fixed by #6395
Assignees
Labels
c/application server This is related to the Application Server in progress We're working on it
Milestone

Comments

@cvetkovski98
Copy link
Member

Summary

Each application package has configuration data stored in a DefaultPackageAssociation and a PackageAssociation. The values in the PackageAssociation are used to override the DefaultPackageAssociation values per device. We should optimize the data stored in the PackageAssociation by reducing the number of fields we persist in the underlying data.

Follows up #6317

Current Situation

The PackageAssociation(s) for the integrations related to LoRa Cloud Modem & Geolocation Services currently store all the fields that are required in the DefaultPackageAssociation to enable (de)serialization to and from structpb.Struct{} and proper validation. This solution might create residual PackageAssociation(s) that bring no actual value to the integration (e.g. data that contains "token": "").

Why do we need this? Who uses it, and when?

Reduce the amount of data we store in Redis related to the integrations for LoRa Cloud Modem & Geolocation Services.

Proposed Implementation

Improve the (de)serialization from and to structpb.Struct{} by allowing nilable data fields in the DefaultPackageAssociation and PackageAssociation. Move the layer of data validation after merging the configurations instead of during.

Contributing

  • I can help by doing more research.
  • I can help by implementing the feature after the proposal above is approved.
  • I can help by testing the feature before it's released.

Code of Conduct

@cvetkovski98 cvetkovski98 added the needs/triage We still need to triage this label Jun 28, 2023
@cvetkovski98 cvetkovski98 self-assigned this Jun 28, 2023
@cvetkovski98 cvetkovski98 added the c/application server This is related to the Application Server label Jun 28, 2023
@adriansmares adriansmares added this to the v3.27.0 milestone Jun 28, 2023
@KrishnaIyer KrishnaIyer removed the needs/triage We still need to triage this label Jul 5, 2023
@cvetkovski98 cvetkovski98 added the in progress We're working on it label Jul 6, 2023
@cvetkovski98 cvetkovski98 linked a pull request Jul 12, 2023 that will close this issue
5 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
c/application server This is related to the Application Server in progress We're working on it
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants