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

Interfaces passed in initial_introspection are not registered in devices-by-interface #391

Open
rbino opened this issue May 27, 2020 · 1 comment · May be fixed by #946
Open

Interfaces passed in initial_introspection are not registered in devices-by-interface #391

rbino opened this issue May 27, 2020 · 1 comment · May be fixed by #946
Labels
app:pairing This issue or pull request is about astarte_pairing application critical This issue causes data loss or other irreversible problems database This issue or pull request is about database (e.g. schema change, queries, support, etc...)
Milestone

Comments

@rbino
Copy link
Collaborator

rbino commented May 27, 2020

We should copy DataUpdaterPlant.DataUpdater.Queries.register_device_with_interface/4 in Astarte Pairing and add them when initial_introspection is passed during device registration

@rbino rbino added critical This issue causes data loss or other irreversible problems app:pairing_api This issue or pull request is about astarte_pairing_api application database This issue or pull request is about database (e.g. schema change, queries, support, etc...) app:pairing This issue or pull request is about astarte_pairing application and removed app:pairing_api This issue or pull request is about astarte_pairing_api application labels May 27, 2020
@rbino rbino added this to the v1.2 milestone Jan 17, 2023
@rbino rbino added this to Astarte Jan 17, 2023
@bettio bettio modified the milestones: v1.2, v1.3 Jun 19, 2023
@eddbbt
Copy link
Contributor

eddbbt commented May 20, 2024

update:
This issue was (is) about a corner case misbehavior, such as:

  • a device is created with an introspection
  • then the same device connects to astarte without declaring an introspection (due to above, this is a valid and legit design choice)
  • after that, the interface(s) can be deleted without warnings/errors

it should not be allowed to delete an interface after at least one device that uses the interface(s) performs the initial connection (device state changes from "never connected"), as this could cause service interruptions

eddbbt added a commit to eddbbt/astarte that referenced this issue May 20, 2024
Save device introspection in kv_store after device registration, inhibit interface deletion
if device does not declare introspection during first connection
closes astarte-platform#391

Signed-off-by: Eddy Babetto <[email protected]>
@eddbbt eddbbt linked a pull request May 20, 2024 that will close this issue
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
app:pairing This issue or pull request is about astarte_pairing application critical This issue causes data loss or other irreversible problems database This issue or pull request is about database (e.g. schema change, queries, support, etc...)
Projects
Status: No status
Development

Successfully merging a pull request may close this issue.

3 participants