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

Canned algorithms in libgalois leave changes in the PropertyFileGraph when they fail #28

Open
arthurp opened this issue Jan 8, 2021 · 1 comment
Labels
bug Something isn't working good first issue Good for newcomers

Comments

@arthurp
Copy link
Contributor

arthurp commented Jan 8, 2021

Leaving the property on the PropertyFileGraph will: a) force a rerun of the algorithm to use a different property name to avoid conflicts, b) waste memory since the old property is referenced and will hang around in memory. These are both issue in a Jupyter notebook where having a failure in a given cell is usually handled by only rerunning that one cell.

I think a good option is adding a rollback (delete the new property) if the algorithm fails. Another options would be to chang the property creation semantics of algorithms to be "add or overwrite", but I think that could make it easy to accidentally destroy your data due to the silent overwrite.

This originally came up in #5 (comment).

@arthurp arthurp added the enhancement New feature or request label Jan 8, 2021
@arthurp arthurp added bug Something isn't working good first issue Good for newcomers and removed enhancement New feature or request labels Apr 27, 2021
@arthurp
Copy link
Contributor Author

arthurp commented Apr 27, 2021

Fixing this should be a relatively straightforward matter. Many algorithms already have a thin wrapper function that could easily be modified to check for a returned error and delete the output property if it exists. Other algorithms could have such a thin wrapper added if they have a large number of returns making removing the property in every care messy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working good first issue Good for newcomers
Projects
None yet
Development

No branches or pull requests

1 participant