Skip to content
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

Failed file transfers are never retried #41

Open
Xarthisius opened this issue May 14, 2019 · 0 comments
Open

Failed file transfers are never retried #41

Xarthisius opened this issue May 14, 2019 · 0 comments

Comments

@Xarthisius
Copy link
Contributor

Occasionally fetching remote resources fails with reasons unrelated to WT, e.g.:

Traceback (most recent call last):
  File "/girder/plugins/wt_data_manager/server/lib/tm_utils.py", line 39, in run
    self.transfer()
  File "/girder/plugins/wt_data_manager/server/lib/handlers/common.py", line 30, in transfer
    with open(self.psPath, 'wb') as outf, self.openInputStream() as inf:
  File "/girder/plugins/wt_data_manager/server/lib/handlers/http.py", line 25, in openInputStream
    return HttpStream(urlopen(self.url))
  File "/usr/lib/python3.5/urllib/request.py", line 163, in urlopen
    return opener.open(url, data, timeout)
  File "/usr/lib/python3.5/urllib/request.py", line 472, in open
    response = meth(req, response)
  File "/usr/lib/python3.5/urllib/request.py", line 582, in http_response
    'http', request, response, code, msg, hdrs)
  File "/usr/lib/python3.5/urllib/request.py", line 510, in error
    return self._call_chain(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 444, in _call_chain
    result = func(*args)
  File "/usr/lib/python3.5/urllib/request.py", line 590, in http_error_default
    raise HTTPError(req.full_url, code, msg, hdrs, fp)
urllib.error.HTTPError: HTTP Error 503: Service Unavailable

This results in an empty file being created in DMS cache (/tmp/ps). On the receiving end (girderfs), the call that triggered the fetch polls /dm/fs/<itemId>/raw indefinitely (which is a separate issue). Subsequent calls from the client also hang, even if remote issue is resolved. File is never downloaded to cache and stays as an empty file. The only workaround is to manually drop dm attribute from the item and try accessing the file via the client.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant