Replies: 3 comments 5 replies
-
@pared, AFAICT I have been thinking of Please see patch (please ignore the |
Beta Was this translation helpful? Give feedback.
-
Can we address #5984 first and then revisit, especially since there's an implementation started already? It would help solve the error handling for a lot of use cases, and it would help define the UI and maybe clarify other issues. Also, this discussion raises additional questions about how best to generalize and how to handle errors for commands that aren't read-only. |
Beta Was this translation helpful? Give feedback.
-
There are use-cases when we need to run
If there is either: |
Beta Was this translation helpful? Give feedback.
-
In #5984 I am implementing behaviour that intends to prevent some commands (
plots/metrics/params/exp show
) from throwing faced exceptions, and rather put them intodebug
/trace
log. Main reasoning for that is that those commands are more useful trying to do as much as possible (eg show the metrics from non-failing branches and/or files) and errors that might occur during parsing different revisions and paths are not likely to break anything in our repo.However it seems that skipping some errors could be useful not only for mentioned commands. For example:
dvc gc -A
and one commit having malformeddvc.yaml
It seems that any command utilizing the
brancher
will suffer from a this problem. When there is some error for given revision (for sake of example lets assume malformed.dvc
ordvc.yaml
file in some historical commit), command usingbrancher
will fail to finish the execution.After discussions in #5984 and #5038 it seems the best way would be to make brancher provide onerror functionality.
The range of influenced commands I see so far:
plots
params
metrics
exp
:show
,gc
,diff
diff
pull
push
fetch
gc
While in case of
plots/params/metrics/exp show
it seems like we could safely ignore the errors, because those are operations that do not edit the repository, in case of othersgc
(mainly, butpull
,push
,fetch
too) ignoring might not be the option. (Yet we have some ideas how to handle that: #5037 or #5066).As we are starting to see this problem from few different issues we need to discuss whether providing
onerror
capabilities would let us close all of them in long term. From my perspective it looks like both #5037 and #5066 could be solved with properonerror
implementation, no matter which one we will choose as a fix. @skshetry what do you think?As for #5984 the idea seems to work well, but as of today its implemented in a way non-generic way, avialable only to
plots/params/exp show/metrics
. I think we could make this change the first one to handle brancher errors, and keep behavior for other commands as it used to be. If this works out we could schedule #5037 and #5066 to fix in upcoming sprints.TLDR:
Do we want to implement
onerror
handling for brancher?cc @efiop @dberenbaum
Beta Was this translation helpful? Give feedback.
All reactions