Actions
Bug #14650
open[arvados-cwl-runner] Inaccessible collection causes long traceback
Story points:
-
Release:
Release relationship:
Auto
Description
Looks like we need better exception handling for this case. It should be a simple "Collection not found" instead of a giant traceback:
Traceback (most recent call last): File "/usr/bin/arvados-cwl-runner", line 10, in <module> sys.exit(main(sys.argv[1:], sys.stdout, sys.stderr)) File "/usr/lib/python2.7/dist-packages/arvados_cwl/__init__.py", line 322, in main runtimeContext=executor.runtimeContext) File "/usr/lib/python2.7/dist-packages/cwltool/main.py", line 776, in main secret_store=runtimeContext.secret_store) File "/usr/lib/python2.7/dist-packages/cwltool/main.py", line 367, in init_job_order visit_class(job_order_object, ("File",), functools.partial(add_sizes, make_fs_access(input_basedir))) File "/usr/lib/python2.7/dist-packages/cwltool/utils.py", line 210, in visit_class visit_class(rec[d], cls, op) File "/usr/lib/python2.7/dist-packages/cwltool/utils.py", line 208, in visit_class op(rec) File "/usr/lib/python2.7/dist-packages/cwltool/process.py", line 361, in add_sizes obj["size"] = fsaccess.size(obj["location"]) File "/usr/lib/python2.7/dist-packages/arvados_cwl/fsaccess.py", line 150, in size collection, rest = self.get_collection(fn) File "/usr/lib/python2.7/dist-packages/arvados_cwl/fsaccess.py", line 93, in get_collection return (self.collection_cache.get(pdh), urlparse.unquote(sp[1]) if len(sp) == 2 else None) File "/usr/lib/python2.7/dist-packages/arvados_cwl/fsaccess.py", line 69, in get num_retries=self.num_retries) File "/usr/lib/python2.7/dist-packages/arvados/collection.py", line 1823, in __init__ super(CollectionReader, self).__init__(manifest_locator_or_text, *args, **kwargs) File "/usr/lib/python2.7/dist-packages/arvados/collection.py", line 1309, in __init__ self._populate() File "/usr/lib/python2.7/dist-packages/arvados/collection.py", line 1414, in _populate self._populate_from_api_server() File "/usr/lib/python2.7/dist-packages/arvados/collection.py", line 1401, in _populate_from_api_server num_retries=self.num_retries)) File "/usr/lib/python2.7/dist-packages/oauth2client/util.py", line 140, in positional_wrapper return wrapped(*args, **kwargs) File "/usr/lib/python2.7/dist-packages/googleapiclient/http.py", line 840, in execute raise HttpError(resp, content, uri=self.uri) arvados.errors.ApiError: <HttpError 404 when requesting https://e51c5.arvadosapi.com/arvados/v1/collections/25f887d4403065d9080eef682a9b7385%2B70?alt=json returned "Path not found">
Actions