[Python-modules-team] Bug#972516: dask: fsspec API changes / new aiohttp dependency

Rebecca N. Palmer rebecca_palmer at zoho.com
Mon Oct 19 19:49:06 BST 2020


Package: python3-dask
Version: 2.11.0+dfsg-1

Some of fsspec's functionality now requires python3-aiohttp, including 
parts used in dask autopkgtests:

https://ci.debian.net/data/autopkgtest/testing/amd64/d/dask/7549002/log.gz

Some of these work if I add a test-dependency, but 2 continue to fail.

Upstream fixes:
https://github.com/dask/dask/commit/024f690b6d269c11a496db088c4ddd8d5de12a49
https://github.com/dask/dask/commit/416d348f7174a302815758cb87dbf6983226ddc5

_________________________________ test_errors 
__________________________________

dir_server = '/tmp/tmpt3k96rrg'

     def test_errors(dir_server):
         f = open_files("http://localhost:8999/doesnotexist")[0]
         with pytest.raises(requests.exceptions.RequestException):
             with f as f:
 >               f.read()

/usr/lib/python3/dist-packages/dask/bytes/tests/test_http.py:117:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _
/usr/lib/python3/dist-packages/fsspec/implementations/http.py:343: in read
     self._fetch_all()
/usr/lib/python3/dist-packages/fsspec/asyn.py:121: in wrapper
     return maybe_sync(func, self, *args, **kwargs)
/usr/lib/python3/dist-packages/fsspec/asyn.py:100: in maybe_sync
     return sync(loop, func, *args, **kwargs)
/usr/lib/python3/dist-packages/fsspec/asyn.py:71: in sync
     raise exc.with_traceback(tb)
/usr/lib/python3/dist-packages/fsspec/asyn.py:55: in f
     result[0] = await future
/usr/lib/python3/dist-packages/fsspec/implementations/http.py:360: in 
async_fetch_all
     r.raise_for_status()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
_ _ _ _

self = <ClientResponse(http://localhost:8999/doesnotexist) [404 File not 
found]>
<CIMultiDictProxy('Server': 'SimpleHTTP/0.6 ...19 Oct 2020 18:05:00 
GMT', 'Connection': 'close', 'Content-Type': 'text/html;charset=utf-8', 
'Content-Length': '469')>


     def raise_for_status(self) -> None:
         if 400 <= self.status:
             # reason should always be not None for a started response
             assert self.reason is not None
             self.release()
 >           raise ClientResponseError(
                 self.request_info,
                 self.history,
                 status=self.status,
                 message=self.reason,
                 headers=self.headers)
E           aiohttp.client_exceptions.ClientResponseError: 404, 
message='File not found', url=URL('http://localhost:8999/doesnotexist')

/usr/lib/python3/dist-packages/aiohttp/client_reqrep.py:941: 
ClientResponseError
----------------------------- Captured stderr call 
-----------------------------
127.0.0.1 - - [19/Oct/2020 18:05:00] code 404, message File not found
127.0.0.1 - - [19/Oct/2020 18:05:00] "HEAD /doesnotexist HTTP/1.1" 404 -
127.0.0.1 - - [19/Oct/2020 18:05:00] code 404, message File not found
127.0.0.1 - - [19/Oct/2020 18:05:00] "GET /doesnotexist HTTP/1.1" 404 -
________________________ test_urlpath_inference_errors 
_________________________

     def test_urlpath_inference_errors():
         # Empty list
         with pytest.raises(ValueError, match="empty"):
             get_fs_token_paths([])

         # Protocols differ
         with pytest.raises(ValueError, match="the same protocol"):
             get_fs_token_paths(["s3://test/path.csv", "/other/path.csv"])

         # Options differ
         with pytest.raises(ValueError, match="the same file-system 
options"):
             get_fs_token_paths(
                 [
                     "ftp://myuser@node.com/test/path.csv",
                     "ftp://otheruser@node.com/other/path.csv",
                 ]
             )

         # Unknown type
         with pytest.raises(TypeError):
 >           get_fs_token_paths(
                 {
                     "sets/are.csv",
                     "unordered/so/they.csv",
                     "should/not/be.csv",
                     "allowed.csv",
                 }
             )
E           Failed: DID NOT RAISE <class 'TypeError'>

/usr/lib/python3/dist-packages/dask/bytes/tests/test_local.py:86: Failed



More information about the Python-modules-team mailing list