-
Notifications
You must be signed in to change notification settings - Fork 176
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
Files in transformations will stay assigned for ever #7116
Comments
@sfayer @marianne013 as you start using the TS, you may have opinion too ? |
I don't think that a file in (RMS) status I think we should instead check what is the status of the request first, and if failed set all files to |
That's not correct either. Of course, we should take the request status into consideration. |
I don't see any other option but setting |
I think this is the correct thing to do in general. |
@andresailer another ping |
Sorry, I don't really have an opinion here. Anything that makes things more fault tolerant sounds good! |
I add an extra case here. Hopefully this issue will (soon) consolidate into unit tests, and possibly a fix - req1: Waiting
- op1: Waiting
- LFN1:Done
- LFN2: Waiting
- op2: Done
- LFN1: Done
- LFN2:Done Both |
This is quite an edge case. It can happen whenever you have a transformation that creates multiple operations on files.
Suppose the following request is created
If the
Op1
fails for LFN1, but succeeds forOp2
, we will have the followingif you then call
getRequestFileStatus
, you will get:And that's the best it can do really.
The problem then is when updating the
FileTask
status:DIRAC/src/DIRAC/TransformationSystem/Client/RequestTasks.py
Lines 374 to 378 in 1cd1173
We do not take into account the case of
LFN2
.It is very hard to know what to do. The
Request
is in a final state (it will never change anymore), but the file is not (it only went half way through the process it has to follow).Setting it
Problematic
is maybe an option...I think more and more that whenever we have a Transformation with multiple operations per request, we should have a flag saying whether the requests are reentrant or not (i.e. can you re-run them from the beginning at any point in time). If they are not, even resetting task should be forbidden.
Opinion @andresailer ?
The text was updated successfully, but these errors were encountered: