)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9d3a7d4911a4386b7cca1353da57ef23ac0e4002","unresolved":true,"context_lines":[{"line_number":15,"context_line":"Add the contributor page to navigation and announce the documentation"},{"line_number":16,"context_line":"in a release note under Other Notes. Keep the consumer application"},{"line_number":17,"context_line":"migration guide in its separate task."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Related: https://redhat.atlassian.net/browse/OSPRH-17945"},{"line_number":20,"context_line":"Change-Id: I88cd37ada4747511a835f9d4f247a5ddbb213dfd"},{"line_number":21,"context_line":"Signed-off-by: Daniel Bengtsson \u003cdbengt@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"eed3c65b_4be40bc3","line":19,"range":{"start_line":18,"start_character":1,"end_line":19,"end_character":56},"updated":"2026-09-21 15:35:52.000000000","message":"Please remove any link to your downstream tracker.","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"5df05f9ead3acc79f9fe781399765977d964b4c0","unresolved":false,"context_lines":[{"line_number":15,"context_line":"Add the contributor page to navigation and announce the documentation"},{"line_number":16,"context_line":"in a release note under Other Notes. Keep the consumer application"},{"line_number":17,"context_line":"migration guide in its separate task."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"Related: https://redhat.atlassian.net/browse/OSPRH-17945"},{"line_number":20,"context_line":"Change-Id: I88cd37ada4747511a835f9d4f247a5ddbb213dfd"},{"line_number":21,"context_line":"Signed-off-by: Daniel Bengtsson \u003cdbengt@redhat.com\u003e"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"e323d507_2ecf30a3","line":19,"range":{"start_line":18,"start_character":1,"end_line":19,"end_character":56},"in_reply_to":"eed3c65b_4be40bc3","updated":"2026-09-22 09:34:00.000000000","message":"Done","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"2c2dd0c837a2208e0272666968eca7df755ab148","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"7ea51a3c_e0cc0d11","updated":"2026-09-18 10:46:34.000000000","message":"Some minor concerns inline, else LGTM","commit_id":"09041cc0d553004528cac7c280fe00c760941c48"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"75548cd207ff062945bb3867fed31a200612ac0a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"a1c60742_239ee035","updated":"2026-09-21 15:52:11.000000000","message":"I agree with all of @kajinamit@oss.nttdata.com\u0027s points","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9d3a7d4911a4386b7cca1353da57ef23ac0e4002","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"6c7960e4_94a4559f","updated":"2026-09-21 15:35:52.000000000","message":"I still have to go through the whole doc, but has strong disagreement with adding multiple links to your own donwstream trackers in upstream doc. I\u0027d strongly suggest publishing these docs in anywhere hosted in opendev.org / openstack.org . It\u0027s not really guaranteed that these links are kept alive for users","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"b3ca744fa545f9fb99960846dfe90732d0df0605","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"8c6dbe72_859ae3e7","updated":"2026-09-21 12:46:22.000000000","message":"LGTM, thanks for PS updates","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"}],"doc/source/contributor/multiprocessing-spawn.rst":[{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"26f32f22db01e7a1161811c5863c4bf5ee520e04","unresolved":true,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This page describes the multiprocessing implementation for oslo.service"},{"line_number":6,"context_line":"contributors working on the Eventlet removal. The application migration guide"},{"line_number":7,"context_line":"is tracked separately in `OSPRH-17946"},{"line_number":8,"context_line":"\u003chttps://redhat.atlassian.net/browse/OSPRH-17946\u003e`_."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"750a6873_bba072c3","line":6,"range":{"start_line":6,"start_character":0,"end_line":6,"end_character":12},"updated":"2026-09-21 15:44:52.000000000","message":"Do you mean contributors to oslo.service, or contributors to OpenStack. If you meant latter then we should place this document in user guide instead, because contributor guide in this repository is maintained for the former.","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"26f32f22db01e7a1161811c5863c4bf5ee520e04","unresolved":true,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This page describes the multiprocessing implementation for oslo.service"},{"line_number":6,"context_line":"contributors working on the Eventlet removal. The application migration guide"},{"line_number":7,"context_line":"is tracked separately in `OSPRH-17946"},{"line_number":8,"context_line":"\u003chttps://redhat.atlassian.net/browse/OSPRH-17946\u003e`_."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"c6c59d49_533a2d72","line":6,"range":{"start_line":6,"start_character":24,"end_line":6,"end_character":44},"updated":"2026-09-21 15:44:52.000000000","message":"I\u0027m still confused by this. This document doesn\u0027t look focusing on eventlet removal, and it mainly describes threading context. Is this guide provided to encourage project to migrate threading context from fork to spawn, or anything else ?\n\nIf so then it probably makes sense to describe the problem with current fork method first, and then explain how oslo.service provides the migration path AFTER that.","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"5df05f9ead3acc79f9fe781399765977d964b4c0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This page describes the multiprocessing implementation for oslo.service"},{"line_number":6,"context_line":"contributors working on the Eventlet removal. The application migration guide"},{"line_number":7,"context_line":"is tracked separately in `OSPRH-17946"},{"line_number":8,"context_line":"\u003chttps://redhat.atlassian.net/browse/OSPRH-17946\u003e`_."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"6bdaab0b_89e3fd3d","line":6,"range":{"start_line":6,"start_character":0,"end_line":6,"end_character":12},"in_reply_to":"750a6873_bba072c3","updated":"2026-09-22 09:34:00.000000000","message":"Done","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"5df05f9ead3acc79f9fe781399765977d964b4c0","unresolved":false,"context_lines":[{"line_number":3,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This page describes the multiprocessing implementation for oslo.service"},{"line_number":6,"context_line":"contributors working on the Eventlet removal. The application migration guide"},{"line_number":7,"context_line":"is tracked separately in `OSPRH-17946"},{"line_number":8,"context_line":"\u003chttps://redhat.atlassian.net/browse/OSPRH-17946\u003e`_."},{"line_number":9,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"552fcefa_b0c8192f","line":6,"range":{"start_line":6,"start_character":24,"end_line":6,"end_character":44},"in_reply_to":"c6c59d49_533a2d72","updated":"2026-09-22 09:34:00.000000000","message":"Done","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9d3a7d4911a4386b7cca1353da57ef23ac0e4002","unresolved":true,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This page describes the multiprocessing implementation for oslo.service"},{"line_number":6,"context_line":"contributors working on the Eventlet removal. The application migration guide"},{"line_number":7,"context_line":"is tracked separately in `OSPRH-17946"},{"line_number":8,"context_line":"\u003chttps://redhat.atlassian.net/browse/OSPRH-17946\u003e`_."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Scope of the requirement"},{"line_number":11,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"5d230d45_0135e5d0","line":8,"range":{"start_line":7,"start_character":25,"end_line":8,"end_character":52},"updated":"2026-09-21 15:35:52.000000000","message":"Please remove any link to your downstream tracker. This isn\u0027t the right place to be used in our documentation.","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"5df05f9ead3acc79f9fe781399765977d964b4c0","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"This page describes the multiprocessing implementation for oslo.service"},{"line_number":6,"context_line":"contributors working on the Eventlet removal. The application migration guide"},{"line_number":7,"context_line":"is tracked separately in `OSPRH-17946"},{"line_number":8,"context_line":"\u003chttps://redhat.atlassian.net/browse/OSPRH-17946\u003e`_."},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"Scope of the requirement"},{"line_number":11,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":3,"id":"4e0c98b2_f0b8f3fe","line":8,"range":{"start_line":7,"start_character":25,"end_line":8,"end_character":52},"in_reply_to":"5d230d45_0135e5d0","updated":"2026-09-22 09:34:00.000000000","message":"Done","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9d3a7d4911a4386b7cca1353da57ef23ac0e4002","unresolved":true,"context_lines":[{"line_number":163,"context_line":"  \u003chttps://pythonspeed.com/articles/python-multiprocessing/\u003e`_: explanation"},{"line_number":164,"context_line":"  of fork-inherited lock deadlocks."},{"line_number":165,"context_line":"* `Video reference supplied by the migration ticket (at 3:05)"},{"line_number":166,"context_line":"  \u003chttps://youtu.be/RIc-Tut95YM?t\u003d185\u003e`_."},{"line_number":167,"context_line":"* `OSPRH-17945 \u003chttps://redhat.atlassian.net/browse/OSPRH-17945\u003e`_:"},{"line_number":168,"context_line":"  internal documentation and release notes; part of"},{"line_number":169,"context_line":"  `OSPRH-17932 \u003chttps://redhat.atlassian.net/browse/OSPRH-17932\u003e`_."},{"line_number":170,"context_line":"* `OSPRH-17937 \u003chttps://redhat.atlassian.net/browse/OSPRH-17937\u003e`_:"},{"line_number":171,"context_line":"  spawn-safe helpers."},{"line_number":172,"context_line":"* `OSPRH-17938 \u003chttps://redhat.atlassian.net/browse/OSPRH-17938\u003e`_:"},{"line_number":173,"context_line":"  service refactoring. Current launchers use Cotyledon contexts and retain"},{"line_number":174,"context_line":"  the default-fork behavior described above."},{"line_number":175,"context_line":"* `OSPRH-17941 \u003chttps://redhat.atlassian.net/browse/OSPRH-17941\u003e`_:"},{"line_number":176,"context_line":"  parallel periodic tasks."},{"line_number":177,"context_line":"* `OSPRH-17942 \u003chttps://redhat.atlassian.net/browse/OSPRH-17942\u003e`_:"},{"line_number":178,"context_line":"  threadgroup work. Current thread groups create no processes."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Ticket titles describe the planned migration; the scope above describes the"},{"line_number":181,"context_line":"implemented behavior and must be updated alongside future code changes."}],"source_content_type":"text/x-rst","patch_set":3,"id":"f3a2bdae_6728142e","line":178,"range":{"start_line":166,"start_character":41,"end_line":178,"end_character":62},"updated":"2026-09-21 15:35:52.000000000","message":"ditto","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"5df05f9ead3acc79f9fe781399765977d964b4c0","unresolved":false,"context_lines":[{"line_number":163,"context_line":"  \u003chttps://pythonspeed.com/articles/python-multiprocessing/\u003e`_: explanation"},{"line_number":164,"context_line":"  of fork-inherited lock deadlocks."},{"line_number":165,"context_line":"* `Video reference supplied by the migration ticket (at 3:05)"},{"line_number":166,"context_line":"  \u003chttps://youtu.be/RIc-Tut95YM?t\u003d185\u003e`_."},{"line_number":167,"context_line":"* `OSPRH-17945 \u003chttps://redhat.atlassian.net/browse/OSPRH-17945\u003e`_:"},{"line_number":168,"context_line":"  internal documentation and release notes; part of"},{"line_number":169,"context_line":"  `OSPRH-17932 \u003chttps://redhat.atlassian.net/browse/OSPRH-17932\u003e`_."},{"line_number":170,"context_line":"* `OSPRH-17937 \u003chttps://redhat.atlassian.net/browse/OSPRH-17937\u003e`_:"},{"line_number":171,"context_line":"  spawn-safe helpers."},{"line_number":172,"context_line":"* `OSPRH-17938 \u003chttps://redhat.atlassian.net/browse/OSPRH-17938\u003e`_:"},{"line_number":173,"context_line":"  service refactoring. Current launchers use Cotyledon contexts and retain"},{"line_number":174,"context_line":"  the default-fork behavior described above."},{"line_number":175,"context_line":"* `OSPRH-17941 \u003chttps://redhat.atlassian.net/browse/OSPRH-17941\u003e`_:"},{"line_number":176,"context_line":"  parallel periodic tasks."},{"line_number":177,"context_line":"* `OSPRH-17942 \u003chttps://redhat.atlassian.net/browse/OSPRH-17942\u003e`_:"},{"line_number":178,"context_line":"  threadgroup work. Current thread groups create no processes."},{"line_number":179,"context_line":""},{"line_number":180,"context_line":"Ticket titles describe the planned migration; the scope above describes the"},{"line_number":181,"context_line":"implemented behavior and must be updated alongside future code changes."}],"source_content_type":"text/x-rst","patch_set":3,"id":"89ef9f37_d34ca76d","line":178,"range":{"start_line":166,"start_character":41,"end_line":178,"end_character":62},"in_reply_to":"f3a2bdae_6728142e","updated":"2026-09-22 09:34:00.000000000","message":"Done","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"}],"releasenotes/notes/spawn-migration-upgrade-8c3e590ab46f217d.yaml":[{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"2c2dd0c837a2208e0272666968eca7df755ab148","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Users of ``PeriodicTasks.run_periodic_tasks_in_parallel()`` must use the"},{"line_number":5,"context_line":"    threading backend and prepare their tasks for ``spawn`` workers. Make"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"90e0476f_4bd602de","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":7},"updated":"2026-09-18 10:46:34.000000000","message":"As this simply a doc patch, I\u0027m not convinced that this the right place to put an upgrade release note. Thoughts?","commit_id":"09041cc0d553004528cac7c280fe00c760941c48"},{"author":{"_account_id":31245,"name":"Daniel Bengtsson","email":"dbengt@redhat.com","username":"damani42"},"change_message_id":"2cafa0c267e9c6b2b3b8a069337624e679c44b51","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"upgrade:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Users of ``PeriodicTasks.run_periodic_tasks_in_parallel()`` must use the"},{"line_number":5,"context_line":"    threading backend and prepare their tasks for ``spawn`` workers. Make"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"cd6a2483_9a3b48f0","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":7},"in_reply_to":"90e0476f_4bd602de","updated":"2026-09-21 10:06:51.000000000","message":"Done","commit_id":"09041cc0d553004528cac7c280fe00c760941c48"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"9d3a7d4911a4386b7cca1353da57ef23ac0e4002","unresolved":true,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"other:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Added developer documentation describing the multiprocessing spawn"},{"line_number":5,"context_line":"    strategy, its scope, internal helpers, and worker initialization"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"42ef62a6_c16d0e05","line":2,"range":{"start_line":2,"start_character":0,"end_line":2,"end_character":5},"updated":"2026-09-21 15:35:52.000000000","message":"I don\u0027t think we need a release note for documentation update. Drop it.","commit_id":"0b32c6d2688a87aca26c497e448a965a2fd1028c"}]}
