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

Handle minor version updates for server owned interfaces #777

Open
matt-mazzucato opened this issue Apr 18, 2023 · 0 comments
Open

Handle minor version updates for server owned interfaces #777

matt-mazzucato opened this issue Apr 18, 2023 · 0 comments
Labels
discussion This issue needs to be investigated/discussed (it might be already fixed, invalid or duplicated)
Milestone

Comments

@matt-mazzucato
Copy link
Collaborator

According to the versioning scheme for interfaces, new endpoints can be added to an interface with a simple minor version bump. Compatibility with former versions should be ensured.

Consider the following scenario: a server owned interface is updated by bumping its minor version and adding a number of new endpoints.
When a user sends data over that interface, Astarte only performs checks on the interface name and major version which are declared in the device introspection, and let the data flow towards the device. However, the device might have an old interface (with a different minor version) and, in that case, it might receive data on unknown endpoints.

It is not clear how this situation should be handled. There are some possible approaches to be discussed:

  • thoroughly document the behavior and highlight the expected behavior when updating server owned interfaces;
  • devices should drop data on "unknown" endpoints (this would lead to a silent drop of data without notifying the sender);
  • Astarte should perform an additional check on the minor version of interfaces (this might be tricky as only the last minor version of an interface is tracked - previous versions are considered compatible by design).
@matt-mazzucato matt-mazzucato added the discussion This issue needs to be investigated/discussed (it might be already fixed, invalid or duplicated) label Apr 18, 2023
@Annopaolo Annopaolo added this to the v1.3 milestone Jan 8, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
discussion This issue needs to be investigated/discussed (it might be already fixed, invalid or duplicated)
Projects
Status: No status
Development

No branches or pull requests

2 participants