Dashboard and python 3.8 aiohttp signal

I had issue on a fresh installation of ray with python 3.8. I’ve used latest ray 1.8 but I think the issue might be happening also with some previous versions. Essentially the dashboard does not start and the error just says about a missing dependence without specifying which one. Doing some debugging what was missing was aiohttp.signal which is imported within the ray dashboard “optional” dependencies.
Now the issue is that by default aiohttp is installed to the latest version, currently being 3.8.1, which has removed the signals package. There are then a few issues:

  • Why a dependency is listed as optional for the dashboard if when it is missing the dashboard does not work at all?

  • The latest working version of aiohttp with the current code is 3.7.4, I guess it should be stated that in the requirements so that no version > 3.7.4 is installed

  • The new aiohttp versions do not include signals but there is an aiosignals repository made by the authors of aiohttp which could be used instead, but this would require code changes an incompatibility with previous versions of aiohttp

  • The error messages should clearly state what is missing, as from what I experienced the only way to get the actual error was to modify the code locally to log the actual python error