-
Notifications
You must be signed in to change notification settings - Fork 38
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
Semantics of error states ambiguous #179
Comments
@uniqueg thanks for raising this. Ambiguity here has also lead me to likely misusing these error states in different cases as well. I have typically held to the broad definition the To me IMO the difference between a |
Thanks @patmagee. I generally agree with your interpretation, though I thought that there is perhaps some useful distinction for the user:
However, certainly this is at best a rule of thumb. Surely there will be cases in any implementation, where re-running a |
Description of the problem
Running different WES implementations, we ran into the issue that the definition of state
EXECUTOR_ERROR
is somewhat ambiguous.The relevant states are currently defined as:
Now, the defintion of
COMPLETE
perhaps makes it fairly clear that it should only be assigned if a workflow completed successfully with no issues whatsoever (return_code
is0
). However, what is perhaps not so clear is when anEXECUTOR_ERROR
should be assigned. Would it include only failures of jobs or system errors"of the executor itself as well. TheEXECUTOR_ERROR
definition rather suggests the latter, theSYSTEM_ERROR
definition rather the former.The question becomes perhaps clearer in a WES/TES setting. Should WES return
EXECUTOR_ERROR
even if a TES job returns aSYSTEM_ERROR
(note that the definitions ofEXECUTOR_ERROR
andSYSTEM_ERROR
are the same for WES and TES)? It's arguably an error "in the executor" either way, and so by the definition ofSYSTEM_ERROR
in WES is not eligible to be assigned a WESSYSTEM_ERROR
.Personally, I feel that
SYSTEM_ERROR
s in executors should be assignedSYSTEM_ERROR
s in WES as well, because of the implications this has for users: For anEXECUTOR_ERROR
there is likely something wrong on the user's end, and the user should carefully check the workflow and run request before bothering with trying again. Whereas for aSYSTEM_ERROR
the user might want to try again and file a bug report if the error persists.Possible solution
Make it more clear what is and what isn't to be considered an
EXECUTOR_ERROR
and aSYSTEM_ERROR
on the level of WES, e.g., by including what the states signify to the client/user.The text was updated successfully, but these errors were encountered: