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

Undertaker Handling of Expired Containers #6055

Open
ThePhisch opened this issue Jan 25, 2023 · 2 comments
Open

Undertaker Handling of Expired Containers #6055

ThePhisch opened this issue Jan 25, 2023 · 2 comments

Comments

@ThePhisch
Copy link
Contributor

The Undertaker is a daemon that deals with expired DIDs. The handling of expired datasets is reasonably covered by tests in test_undertaker.py while tests for file DIDs are in progress (see #6054 ). The question remains how the Undertaker shall handle expired collections. This has not been relevant so far because ATLAS does not permit the deletion of collections (only of datasets and files).

I can suggest two ways of handling expired containers but would welcome further suggestions:

  1. Behaviour similar to rmdir, meaning that the collection may only be erased if it is completely empty. Might also include a sort of --force option, which would then lead to behaviour described in (2)
  2. Recursively detach all collections and files contained in the expired container and tombstone all of their replicas (in the same way file replicas are deleted when their dataset expires). This also means that exceptions need to be made for collections and files protected by any other rules.

Upon reaching a decision, it will be necessary to cast the expected behaviour into test cases and then edit the codebase in order to pass the tests.

@ThePhisch
Copy link
Contributor Author

ThePhisch commented Jan 27, 2023

As per our conversation @bari12 the handling of expired containers will be the following:

  1. Detach all direct children from self.
  2. Detach self from any parents.
  3. Remove rules from self. (does this include locked rules?)

@bari12
Copy link
Member

bari12 commented Jan 27, 2023

For locked ones, it should probably FAIL. I think that's the policy we do right now for datasets as well.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants