-
Notifications
You must be signed in to change notification settings - Fork 28
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
download: more consistent and exhaustive logging, new DANDI_DEVEL_AGGRESSIVE_RETRY
mode, respect (?) Retry-After
#1509
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #1509 +/- ##
==========================================
- Coverage 88.58% 88.51% -0.08%
==========================================
Files 78 78
Lines 10589 10689 +100
==========================================
+ Hits 9380 9461 +81
- Misses 1209 1228 +19
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
…with or without exception etc
…message while at it
Also shortened the log line to not include traceback
…(via inode matching)
not sure why was not failing for me locally but fails on CI
That is my guess for what is happening in ________________________ test_DownloadDirectory_basic _________________________ dandi\tests\test_download.py:1048: in test_DownloadDirectory_basic with DownloadDirectory(tmp_path, digests={}) as dl: dandi\download.py:889: in __exit__ self.writefile.replace(self.filepath) C:\hostedtoolcache\windows\Python\3.10.11\x64\lib\pathlib.py:1247: in replace self._accessor.replace(self, target) E PermissionError: [WinError 5] Access is denied: 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\pytest-of-runneradmin\\pytest-0\\test_DownloadDirectory_basic0.dandidownload\\file' -> 'C:\\Users\\runneradmin\\AppData\\Local\\Temp\\pytest-of-runneradmin\\pytest-0\\test_DownloadDirectory_basic0'
Very unlikely but it could be that directory already existed but without checksum file for some reason.
no v prefix since is not providing any information on top; sorting for deterministic order
…th was set to default to True
…IVE_RETRY mode This is all to address that odd case with 000026 where connection keeps interrupting. Unclear why so adding more specific cases handling and allowing for such an aggressive retrying where we would proceed as long as we are getting something (but sleep would also increase)
FTR: rebased/force-pushed to get a fresh run of tests after recent changes and drop of 3.8 support. |
pip fails to deal with metadata of 0.5.0 due to missing __version__
See more info at - urllib3/urllib3#3017 - kevin1024/vcrpy#688
…basic on windows Somehow that causes "indigestion" to pytest process later in its life cycle
ok
overall -- we are "ready" here as testing concerned. |
🚀 PR was released in |
It was originally developed as part of the PR but derailed into fixing/robustifying download functionality. So sits on top of
TODOs
possibly fold in herefixup for download to do full file checksumming if download was resumed: Add checksumming of the full download in case of retries #1528