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

POPs can have dangling pointers #248

Open
nleroy917 opened this issue Dec 18, 2023 · 0 comments
Open

POPs can have dangling pointers #248

nleroy917 opened this issue Dec 18, 2023 · 0 comments
Labels
bug Something isn't working wontfix This will not be worked on

Comments

@nleroy917
Copy link
Member

Consider the following scenario:

  1. I make a new PEP called nleroy917/fine-tuning:default
  2. I attach this to a POP called nleroy917/geniml:default
  3. I delete nleroy917/fine-tuning:default

The POP now points to a PEP that doesn't exist. Rust would call this a dangling reference. The POP is just a sample table that points to a list of PEPs. However, there are no safeguards in place if that PEP no longer exists.

@khoroshevskyi and I have talked about this, but there's no clear solution, so it should probably be addressed in the future to prevent weird behavior. Some options:

Option 1 (currently):

Do nothing

Option 2:

Check if that PEP belongs to a POP, and prevent users from deleting it.

Option 3:

Check if that PEP belongs to a POP, and warn users before deleting.

Option 4:

Implement some sort of system that propagates the fact that a PEP has been removed from all POPs that contain that PEP and update their sample tables accordingly.

Option 4 is the most ideal. Options 2 and 3 are a good start, but the query to implement them takes too long. Option 1 is not ideal.

@nleroy917 nleroy917 added the bug Something isn't working label Dec 18, 2023
@khoroshevskyi khoroshevskyi added the wontfix This will not be worked on label Jul 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants