You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@heron.apache.org by GitBox <gi...@apache.org> on 2022/04/03 21:55:33 UTC
[GitHub] [incubator-heron] nicknezis opened a new issue, #3810: Replace use of `asyncore` with `asyncio` due to deprecation
nicknezis opened a new issue, #3810:
URL: https://github.com/apache/incubator-heron/issues/3810
According to updated Python lint tools, the `asyncore` module is deprecated as of Python 3.6. It will be removed in Python 3.12. This ticket is to track the migration.
Some information about the removal can be found here:
https://peps.python.org/pep-0594/
https://docs.python.org/3/library/asyncore.html
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@heron.apache.org.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org
[GitHub] [incubator-heron] surahman commented on issue #3810: Replace use of `asyncore` with `asyncio` due to deprecation
Posted by GitBox <gi...@apache.org>.
surahman commented on issue #3810:
URL: https://github.com/apache/incubator-heron/issues/3810#issuecomment-1088041038
Target files are all within the `heron/instance/src/python/network/`. Documentation for [`asyncio`](https://docs.python.org/3/library/asyncio.html).Based on a very quick look at the code removing the `asyncore` will require a complete rewrite of the following classes. We will need to get familiar with both libraries before attempting to work on them. It would be best to have someone familiar with both libraries onboard with this change.
1. [Heron Client](https://github.com/apache/incubator-heron/blob/b7d92a99a08ad8abec35e3a8f9c7f9cae61aa741/heron/instance/src/python/network/heron_client.py)
This class inherits from `asyncore.dispatcher` and overrides a lot of the routines provided in the parent class. The bulk of the work will be here replacing the channel reading methods.
2. [`Gateway Looper`](https://github.com/apache/incubator-heron/blob/b7d92a99a08ad8abec35e3a8f9c7f9cae61aa741/heron/instance/src/python/network/gateway_looper.py)
This class appears to be wrapping the `asyncore.dispatcher`. It reads off a `channel` and then dispatches calls appropriately. This will require a comprehensive rewrite.
3. [`Protocol`](https://github.com/apache/incubator-heron/blob/b7d92a99a08ad8abec35e3a8f9c7f9cae61aa741/heron/instance/src/python/network/protocol.py)
This is the main class through which the `asyncore.dispatcher` is interfaced with. There should not be too many changes here.
4. [`Tests`](https://github.com/apache/incubator-heron/blob/master/heron/instance/tests/python/network/mock_generator_client.py)
A comprehensive rewrite of this will be required.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: commits-unsubscribe@heron.apache.org
For queries about this service, please contact Infrastructure at:
users@infra.apache.org