ORNL / DataFed

A Federated Scientific Data Management System
https://ornl.github.io/DataFed/
Other
18 stars 13 forks source link

System - Mark new collection locations for records being transferred to new owner #286

Open dvstans opened 4 years ago

dvstans commented 4 years ago

When record ownership is changed, records must be unlinked from current collections and linked to a new collection owned by the new user. When this happens, the ACLs associated with the record change. When user background tasks are started, they check for proper permissions first, then assume that those permissions are valid throughout the life of the task. However, changing ownership will break ACLs and potentially cause scheduled tasks to fail later in their life cycle. To avoid this, records that are being moved to a new owner should be marked such that new tasks see collection membership and ACLs based on the new owner, but running tasks see the current ACLs - allowing them to finish.

dvstans commented 4 years ago

To be more specific - the transfer may fail because the gridFTP authz call uses ACLs to determine permissions. Instead, the authz call should somehow check that a task is associated with the user/operation (i.e. a task owned by the user with a read lock means read operation is allowed, but not write).

dvstans commented 4 years ago

Note that the window of opportunity for this to impact users is quite narrow, therefore classifying as minor bug.