)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":4393,"name":"Dan Smith","email":"dms@danplanet.com","username":"danms"},"change_message_id":"e30485949c7c3716c2a8809f3dadb568f316f642","unresolved":true,"context_lines":[{"line_number":10,"context_line":"Python 3.12. In the future, we should either port process_executor to"},{"line_number":11,"context_line":"asyncio or deprecate it, but for now we just disable it starting in"},{"line_number":12,"context_line":"Python 3.12."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I6c69593c5ce5a62721294564917d7a75531a2dac"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"04bcb327_00e04a02","line":13,"updated":"2024-04-30 18:51:55.000000000","message":"`Closes-Bug: #2026183`\n\n?","commit_id":"8e855cbcc5a62fc1ebfb21ab414258e3aed5d54f"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c0241e18e58b537ee47c7f8bc4084e14b109c32e","unresolved":false,"context_lines":[{"line_number":10,"context_line":"Python 3.12. In the future, we should either port process_executor to"},{"line_number":11,"context_line":"asyncio or deprecate it, but for now we just disable it starting in"},{"line_number":12,"context_line":"Python 3.12."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Change-Id: I6c69593c5ce5a62721294564917d7a75531a2dac"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"b727ae03_12fa9331","line":13,"in_reply_to":"04bcb327_00e04a02","updated":"2024-05-16 17:01:01.000000000","message":"Done","commit_id":"8e855cbcc5a62fc1ebfb21ab414258e3aed5d54f"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"83475d9c3157ce4f090172ec990a92f184d577ee","unresolved":true,"context_lines":[{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The asyncore module has been deprecated in Python 3.6 and removed in"},{"line_number":10,"context_line":"Python 3.12. In the future, we should either port process_executor to"},{"line_number":11,"context_line":"asyncio or deprecate it, but for now we just disable it starting in"},{"line_number":12,"context_line":"Python 3.12."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Closes-Bug: #2026183"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"375c44cb_2a78f44d","line":11,"range":{"start_line":11,"start_character":0,"end_line":11,"end_character":7},"updated":"2024-05-17 08:32:47.000000000","message":"We won\u0027t be able to use asyncio in libs until Openstack services relies on an Eventlet hubs[1] equal to[2] the asyncio one[3].\n\nAsyncio can\u0027t work with standard Eventlet eventloops. Processes using both libs together without the glue mechanisms of the asyncio hub[3], would simply failed.\n\nFor a process free from eventlet it would be possible to execute an asyncio based lib, but as libs are agnostic to the monkey patch, we should be sure that no other services monkey patch the usages of this same lib elsewhere. In other words, libs should remain compatible with all services. If you want to see port of the process executor to asyncio, then, you should ensure that stacks that still use Eventlet are not able to use this porting, and possibly you have to ensure to give them some alternatives. But as this feature is now deprecated, nobody won\u0027t be able to use it anymore.\n\nHence, the deprecation seems the right path to follow.\n\n[1] https://eventlet.readthedocs.io/en/latest/hubs.html\n[2] https://github.com/openstack/glance/blob/da1b9792f269cb87b97142005927833cbeab3f32/glance/common/wsgi.py#L359\n[3] https://eventlet.readthedocs.io/en/latest/asyncio/compatibility.html#asyncio-compatibility","commit_id":"78d39c49aab39fc823c86ef93bc696968e12f233"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"97d5c2d050ef2a7a9e63d74f4286c7333e2df4aa","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"23c9a8fc_a753433a","updated":"2024-04-19 06:57:40.000000000","message":"I agree with the approach. Back in December, I checked the openstack repositories and I didn\u0027t find any use of this engine\nhttps://lists.openstack.org/archives/list/openstack-discuss@lists.openstack.org/message/MRYBGCGN7S3FL5KE5UTIFYBRS6KKSZZI/\n\nIMHO this commit should also include a release note (process_executor not available with py312) and a deprecation note. but maybe we can wait for other folks\u0027 feedback.","commit_id":"90c647d9a015ea3923f6e9f7e81abccaeea18bce"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"874612fd8b4a62fd8866e034caf676aaa6892df2","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"496fdac7_79ff0241","in_reply_to":"23c9a8fc_a753433a","updated":"2024-04-24 21:08:14.000000000","message":"+1, we need a release note with this.","commit_id":"90c647d9a015ea3923f6e9f7e81abccaeea18bce"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"2a4172d8f435d35e5978dd68c388ce6ff6c16157","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"c9102dc0_fe14309d","updated":"2024-04-30 15:48:15.000000000","message":"I added a release note and fixed the tests","commit_id":"2adce34ae0f2445de7af74af4852fdd2efc15bbf"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"f6cd359c957b0fc0923cc8a3da9d038b6cb632ad","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"feb50c57_b4aebcc8","updated":"2024-04-30 15:49:34.000000000","message":"I think I overwrote Takashi\u0027s changes, will submit a new patch later.","commit_id":"2adce34ae0f2445de7af74af4852fdd2efc15bbf"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"c0241e18e58b537ee47c7f8bc4084e14b109c32e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":7,"id":"eb148edd_cc4f17ed","updated":"2024-05-16 17:01:01.000000000","message":"I am ok with this approach to deprecation.\nThank you for the patch!","commit_id":"78d39c49aab39fc823c86ef93bc696968e12f233"}],"taskflow/tests/unit/test_engines.py":[{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"97d5c2d050ef2a7a9e63d74f4286c7333e2df4aa","unresolved":true,"context_lines":[{"line_number":1517,"context_line":"                     flow_detail\u003dNone, executor\u003dNone, store\u003dNone,"},{"line_number":1518,"context_line":"                     **kwargs):"},{"line_number":1519,"context_line":"        if executor is None:"},{"line_number":1520,"context_line":"            executor \u003d \u0027greenthread\u0027"},{"line_number":1521,"context_line":"        return taskflow.engines.load(flow, flow_detail\u003dflow_detail,"},{"line_number":1522,"context_line":"                                     backend\u003dself.backend,"},{"line_number":1523,"context_line":"                                     engine\u003d\u0027parallel\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"8d2b481e_90c68d74","line":1520,"range":{"start_line":1520,"start_character":24,"end_line":1520,"end_character":35},"updated":"2024-04-19 06:57:40.000000000","message":"I think it would be better to also skip these tests if the module cannot be imported","commit_id":"90c647d9a015ea3923f6e9f7e81abccaeea18bce"},{"author":{"_account_id":8122,"name":"Cyril Roelandt","email":"cyril@redhat.com","username":"cyril.roelandt.enovance"},"change_message_id":"2a4172d8f435d35e5978dd68c388ce6ff6c16157","unresolved":false,"context_lines":[{"line_number":1517,"context_line":"                     flow_detail\u003dNone, executor\u003dNone, store\u003dNone,"},{"line_number":1518,"context_line":"                     **kwargs):"},{"line_number":1519,"context_line":"        if executor is None:"},{"line_number":1520,"context_line":"            executor \u003d \u0027greenthread\u0027"},{"line_number":1521,"context_line":"        return taskflow.engines.load(flow, flow_detail\u003dflow_detail,"},{"line_number":1522,"context_line":"                                     backend\u003dself.backend,"},{"line_number":1523,"context_line":"                                     engine\u003d\u0027parallel\u0027,"}],"source_content_type":"text/x-python","patch_set":2,"id":"c76dff24_1e1d01b9","line":1520,"range":{"start_line":1520,"start_character":24,"end_line":1520,"end_character":35},"in_reply_to":"8d2b481e_90c68d74","updated":"2024-04-30 15:48:15.000000000","message":"Done","commit_id":"90c647d9a015ea3923f6e9f7e81abccaeea18bce"}]}
