-
Notifications
You must be signed in to change notification settings - Fork 1.2k
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
exp show: fails when dvc.yaml is invalid [QA] #5667
Comments
Collecting metrics and params for a repo requires collecting stages from I'm pretty sure this same issue isn't experiments specific and would apply to any DVC command that requires collecting stages/metrics/params. |
(Note: I didn't check the current implementation, so feel free to disregard if it's already done this waY) My 2cs on this. It reminds me the problem that we had in the viewer. What if one of the commits is broken from the DVC perspective (raises something similar to the above, for example)? Should we fail? Should we show at least other commits? In the viewer we've decided that we parse commits (and we don't deal with workspace there) in isolation. Each commit is independent and if it breaks we move to the next one. Each commit that viewer returns in its version of the "dvc exp show" has a status - ok/failed + error message. Otherwise it was almost impossible to deal with actual repos - people break things constantly. Also, let's keep in mind the VS code extension - it'll depend on |
Related convo in #5525 about showing as much as possible in plots/metrics/params/exp show, although I think a broken |
Makes sense. But a main use of
Good idea and again, these special state would only need apply to the As for the state, what about
Thanks for the link! Def. related but that one is too broad so I vote to keep this part here for now. |
Looking at https://discord.com/channels/485586884165107732/563406153334128681/822468979364593704 (via #5525 (comment)) I realize that even when experiments should have valid pipelines (otherwise they wouldn't exist), it's when you use |
It's also possible (although unlikely) for a user to manually add commits to DVC experiment refs, so this is something that just needs to be accounted for in general (for any git commit and the workspace). But yeah, it's not exactly clear how we should handle displaying state for broken |
keep them in the table, but mark somehow? Ideally, even show the message or command how to get the error message. interestingly enough, sometimes these errors can be recovered. E.g. recently we had a lot of commits failing due to dvc.lock/dvc.yaml being broken for a simple reason - DVC was old. I would be bad if didn't show all commits at all I think. |
Yes, I think all errors could likely be printed above or below the table. If we can include the experiment/revision id when doing so, even better. Maybe the table itself can include every experiment/revision but can be blank (or otherwise marked/flagged) where metrics/params weren't successfully populated. |
Fixed by #5984 |
If after running experiments you edit dvc.yaml and (accidentally) make it invalid,
exp show
willERROR: failed to show experiments - unable to read: 'dvc.yaml', YAML file structure is corrupted: while scanning a simple key
(or some other dvc.yaml-related error). Why does
exp show
check dvc.yaml? Does it also check the consistency of all project dvc.yaml files likestatus/repro/exp run
? (May hurt performance)The text was updated successfully, but these errors were encountered: