Open dvstans opened 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).
Note that the window of opportunity for this to impact users is quite narrow, therefore classifying as minor bug.
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.