Closed shcheklein closed 4 months ago
Getting the same for the gdrive
fixture (fixing customer's issue).
This is kinda tricky to fix correctly in the DataFileSystem
.
We know it's a directory due to .dir
in the hash, so isdir
should return True. But when you go to list it, it will fail since there is no actual .dir
file.
The ideal fix here would be to try to load .dir
file during isdir()
calls, and raise FileNotFoundError
if they are not found. But that might make everything slower, I assume.
That fix would be in dvc_data.index.info()
/dvc_data.index.ls()
.
On dvc side, we do need to protect ourselves from random errors, so we need to be careful when expanding paths. We can never be sure what we'll get during path expansion, so guarding makes sense to me.
Take the recent
example-get-started-experiments
. Change indvc.lock
md5
forresults/train
directory that among other things has ametrics.json
specified in it.Run
dvc metrics show --json
:While there other metrics, and only one of them should be failing, not the whole command / collection.
It's throwing this exception:
In Studio it's causing an unexpected error. In VS Code it also means we show the whole commit broken or even worse.
DVC Version