)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"1763dc7c3fec6a6973621125200f78116827911b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c7f22c59_1b4456d1","updated":"2022-05-25 15:21:53.000000000","message":"I think this is the cause of the changed behavior[1]: \"Changed in version 3.7: socketserver.ForkingMixIn.server_close() and socketserver.ThreadingMixIn.server_close() now waits until all child processes and non-daemonic threads complete. Add a new socketserver.ForkingMixIn.block_on_close class attribute to opt-in for the pre-3.7 behaviour.\"\n\nIn that case it might be better to simply  use the new block_on_close flag.\n\n[1]: https://docs.python.org/3/library/socketserver.html#socketserver.ThreadingMixIn\n\n","commit_id":"86f02585bb0cca1dccd1b21564aaebb80566bf64"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"e518c270393dce6d33549ed6043664ee37232397","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"cdbbdd68_4691c4d5","in_reply_to":"c5f04fb6_1905329a","updated":"2022-05-30 10:25:25.000000000","message":"I just tried it myself.\n\nOriginal code:\n[stack@devstackc9s octavia]$ time sudo systemctl restart devstack@o-da\n\nreal    5m0.062s\nuser    0m0.011s\nsys     0m0.015s\n\nSetting block_on_close \u003d False alone did NOT help.\n\nYour proposed change:\n[stack@devstackc9s octavia]$ time sudo systemctl restart devstack@o-da\n\nreal    0m0.642s\nuser    0m0.007s\nsys     0m0.021s\n\nNice fix!","commit_id":"86f02585bb0cca1dccd1b21564aaebb80566bf64"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"58f7e8e9f376be1b3c7eaa4795f9f26820e955c9","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c5f04fb6_1905329a","in_reply_to":"c7f22c59_1b4456d1","updated":"2022-05-25 15:32:00.000000000","message":"I can give it a try but in my case, it was the server.shutdown() call that was blocked (so before calling server_close)","commit_id":"86f02585bb0cca1dccd1b21564aaebb80566bf64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"149c954c64114da328ed03f5d400e7d27701b184","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"ac799b27_7a265ee9","updated":"2022-06-22 16:57:45.000000000","message":"LGTM","commit_id":"51eef0d6d7ac6f511e23a8ceb59dc0f0dd7cfbdf"},{"author":{"_account_id":32238,"name":"wdd","email":"wangzihao@yovole.com","username":"wangzihao"},"change_message_id":"2b07169f017d1f9bf64f7b046c19437d10e60f96","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"5c26a31d_ae701336","updated":"2022-07-06 09:53:01.000000000","message":"recheck","commit_id":"51eef0d6d7ac6f511e23a8ceb59dc0f0dd7cfbdf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"bc710bbc128ae37c0222041489bba43ea9ed68cf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"e873e020_a388ef72","updated":"2022-07-07 08:34:05.000000000","message":"recheck https://review.opendev.org/c/openstack/octavia/+/840108 merged","commit_id":"51eef0d6d7ac6f511e23a8ceb59dc0f0dd7cfbdf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"51f733dc1d286ed0caa6782c1458279c12a6acef","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"07feff63_21d7898a","updated":"2022-06-22 12:54:24.000000000","message":"recheck https://review.opendev.org/c/openstack/octavia/+/846273 is merged","commit_id":"51eef0d6d7ac6f511e23a8ceb59dc0f0dd7cfbdf"},{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"ab9adb0fc865b1ffbd8aeef06c8c841282bd8422","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"b98bcc70_0ac1f75c","updated":"2022-07-06 19:51:33.000000000","message":"recheck https://review.opendev.org/c/openstack/octavia/+/848816 merged","commit_id":"51eef0d6d7ac6f511e23a8ceb59dc0f0dd7cfbdf"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"c354b39242e7952131869a90a243f28c09109bdc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"3ba7c6ba_e1ae873f","in_reply_to":"5c26a31d_ae701336","updated":"2022-07-06 10:21:31.000000000","message":"please use a \"reason\" when invoking recheck (cf https://lists.openstack.org/pipermail/openstack-discuss/2022-June/029342.html)\n\nthe functional job is currently broken because of a new pecan release, some other changes will fix it.","commit_id":"51eef0d6d7ac6f511e23a8ceb59dc0f0dd7cfbdf"}],"octavia/api/drivers/driver_agent/driver_listener.py":[{"author":{"_account_id":34429,"name":"Tom Weininger","email":"dienste@weinimo.de","username":"tweining"},"change_message_id":"4eb1c476fbd666cf0ee75e0571db50ce1018ab1e","unresolved":true,"context_lines":[{"line_number":113,"context_line":"def status_listener(exit_event):"},{"line_number":114,"context_line":"    _cleanup_socket_file(CONF.driver_agent.status_socket_path)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    server \u003d ForkingUDSServer(CONF.driver_agent.status_socket_path,"},{"line_number":117,"context_line":"                              StatusRequestHandler)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    server.timeout \u003d CONF.driver_agent.status_request_timeout"},{"line_number":120,"context_line":"    server.max_children \u003d CONF.driver_agent.status_max_processes"}],"source_content_type":"text/x-python","patch_set":1,"id":"23c06485_731e12de","line":117,"range":{"start_line":116,"start_character":13,"end_line":117,"end_character":51},"updated":"2022-05-30 10:33:23.000000000","message":"It may be outside of the scope of this change, but if we use this with a with-statement like suggested in the documentation for socketserver.UnixStreamServer we could get rid of the server.server_close() below and it would become a bit safer as well.","commit_id":"86f02585bb0cca1dccd1b21564aaebb80566bf64"},{"author":{"_account_id":11628,"name":"Michael Johnson","email":"johnsomor@gmail.com","username":"johnsom"},"change_message_id":"db0fc1dbb466f9eca82447fbdad17e008c17d36f","unresolved":true,"context_lines":[{"line_number":113,"context_line":"def status_listener(exit_event):"},{"line_number":114,"context_line":"    _cleanup_socket_file(CONF.driver_agent.status_socket_path)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    server \u003d ForkingUDSServer(CONF.driver_agent.status_socket_path,"},{"line_number":117,"context_line":"                              StatusRequestHandler)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    server.timeout \u003d CONF.driver_agent.status_request_timeout"},{"line_number":120,"context_line":"    server.max_children \u003d CONF.driver_agent.status_max_processes"}],"source_content_type":"text/x-python","patch_set":1,"id":"fd3e133e_a71240e4","line":117,"range":{"start_line":116,"start_character":13,"end_line":117,"end_character":51},"in_reply_to":"23c06485_731e12de","updated":"2022-06-02 20:20:48.000000000","message":"+1","commit_id":"86f02585bb0cca1dccd1b21564aaebb80566bf64"},{"author":{"_account_id":29244,"name":"Gregory Thiemonge","email":"gthiemon@redhat.com","username":"gthiemonge"},"change_message_id":"a55e7562b88bdc6ec25ba72161cfe7f16a5c5d83","unresolved":false,"context_lines":[{"line_number":113,"context_line":"def status_listener(exit_event):"},{"line_number":114,"context_line":"    _cleanup_socket_file(CONF.driver_agent.status_socket_path)"},{"line_number":115,"context_line":""},{"line_number":116,"context_line":"    server \u003d ForkingUDSServer(CONF.driver_agent.status_socket_path,"},{"line_number":117,"context_line":"                              StatusRequestHandler)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":"    server.timeout \u003d CONF.driver_agent.status_request_timeout"},{"line_number":120,"context_line":"    server.max_children \u003d CONF.driver_agent.status_max_processes"}],"source_content_type":"text/x-python","patch_set":1,"id":"1212fa28_50ea9717","line":117,"range":{"start_line":116,"start_character":13,"end_line":117,"end_character":51},"in_reply_to":"fd3e133e_a71240e4","updated":"2022-06-21 06:16:15.000000000","message":"done","commit_id":"86f02585bb0cca1dccd1b21564aaebb80566bf64"}]}
