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.
Uh oh!
There was an error while loading. Please reload this page.
-
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/tracelog. 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 -Aand one commit having malformeddvc.yamlIt seems that any command utilizing the
brancherwill suffer from a this problem. When there is some error for given revision (for sake of example lets assume malformed.dvcordvc.yamlfile in some historical commit), command usingbrancherwill 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:
plotsparamsmetricsexp:show,gc,diffdiffpullpushfetchgcWhile in case of
plots/params/metrics/exp showit 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,fetchtoo) 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
onerrorcapabilities would let us close all of them in long term. From my perspective it looks like both #5037 and #5066 could be solved with properonerrorimplementation, 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
onerrorhandling for brancher?cc @efiop @dberenbaum
Beta Was this translation helpful? Give feedback.
All reactions