)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"},"change_message_id":"91a5e830f3981b9f1ce1b91549c5819711b8e0b2","unresolved":true,"context_lines":[{"line_number":17,"context_line":"instead of delegating to eventlets tpool."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"tpool_execute now returns a future instead of blocking internally and"},{"line_number":20,"context_line":"the only caller of this fucntion has been updated to call result() on"},{"line_number":21,"context_line":"the future to wait for it to complete."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ica4c7cc24811713671dfc36e31b2fe9259e88613"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"71ac8ecf_09d3f37e","line":20,"updated":"2024-01-11 08:11:12.000000000","message":"typos: \"funtion\" \"disptached\" \"fucntion\" \"futureist\"","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5713c641b1e3f42a3d3123abd55805d8c5fc5883","unresolved":false,"context_lines":[{"line_number":17,"context_line":"instead of delegating to eventlets tpool."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"tpool_execute now returns a future instead of blocking internally and"},{"line_number":20,"context_line":"the only caller of this fucntion has been updated to call result() on"},{"line_number":21,"context_line":"the future to wait for it to complete."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ica4c7cc24811713671dfc36e31b2fe9259e88613"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"58333dca_a604b6dc","line":20,"in_reply_to":"71ac8ecf_09d3f37e","updated":"2024-08-16 13:02:01.000000000","message":"Acknowledged","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ee58920cecd8d0414832fb50d56facfdccbe6d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"c43d55d6_a05504e1","updated":"2024-01-11 13:29:32.000000000","message":"thanks for the reviews ill respin this later today","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"48cb90bab32bdbfcbe2983292f883a33699551a0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"a9c77b9b_f9c1c5c9","updated":"2024-05-03 10:11:42.000000000","message":"This feels like it should be part of the preceding patch, IMO","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de23846ff9df479c92802ef81216e2103dd21496","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"f85602de_183d5c6e","in_reply_to":"a9c77b9b_f9c1c5c9","updated":"2024-05-14 11:23:33.000000000","message":"i expected to have 5-10 patches in this serieis but i think its just going to be these 4 now for this release.\n\nill see what can and cant be pulled into the preceeding and subsequent patch but im mostly trying tokeep things somewhat self contined.","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"}],"nova/context.py":[{"author":{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"},"change_message_id":"91a5e830f3981b9f1ce1b91549c5819711b8e0b2","unresolved":true,"context_lines":[{"line_number":437,"context_line":"        with target_cell(context, cell_mapping) as cctxt:"},{"line_number":438,"context_line":"            threads.append((cell_mapping.uuid,"},{"line_number":439,"context_line":"                utils.execute(gather_result, cell_mapping.uuid,"},{"line_number":440,"context_line":"                                            fn, cctxt, *args, **kwargs)))"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    # Wait for all results to be gathered or until the timeout expires."},{"line_number":443,"context_line":"    while len(results) \u003c len(threads):"}],"source_content_type":"text/x-python","patch_set":1,"id":"1bc0b142_b6c7dd49","line":440,"updated":"2024-01-11 08:11:12.000000000","message":"nit: You could make this look nicer by moving the second line of arguments to match the indent of first.","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ee58920cecd8d0414832fb50d56facfdccbe6d","unresolved":true,"context_lines":[{"line_number":437,"context_line":"        with target_cell(context, cell_mapping) as cctxt:"},{"line_number":438,"context_line":"            threads.append((cell_mapping.uuid,"},{"line_number":439,"context_line":"                utils.execute(gather_result, cell_mapping.uuid,"},{"line_number":440,"context_line":"                                            fn, cctxt, *args, **kwargs)))"},{"line_number":441,"context_line":""},{"line_number":442,"context_line":"    # Wait for all results to be gathered or until the timeout expires."},{"line_number":443,"context_line":"    while len(results) \u003c len(threads):"}],"source_content_type":"text/x-python","patch_set":1,"id":"9891a54d_5683d24e","line":440,"in_reply_to":"1bc0b142_b6c7dd49","updated":"2024-01-11 13:29:32.000000000","message":"yep.\n\ni was doing this quickly at 4am :) so i mainly wanted to get it runing to get ci results while i slept\nill clena this up in the next version.","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"48cb90bab32bdbfcbe2983292f883a33699551a0","unresolved":true,"context_lines":[{"line_number":65,"context_line":"                max_workers\u003dCONF.osapi_compute_workers)"},{"line_number":66,"context_line":"        else:"},{"line_number":67,"context_line":"            EXECUTOR \u003d futurist.GreenThreadPoolExecutor()"},{"line_number":68,"context_line":"    return EXECUTOR"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"class _ContextAuthPlugin(plugin.BaseAuthPlugin):"}],"source_content_type":"text/x-python","patch_set":4,"id":"f4f96b07_8a215be5","side":"PARENT","line":68,"updated":"2024-05-03 10:11:42.000000000","message":"This was only added in the preceding patch. I wonder should we merge these patches?","commit_id":"554892bc72c6a3b93c9a8a905e89107e94ca46de"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"e3d4ac19642f7b2ec8c515154ebd14456776cfae","unresolved":true,"context_lines":[{"line_number":65,"context_line":"                max_workers\u003dCONF.osapi_compute_workers)"},{"line_number":66,"context_line":"        else:"},{"line_number":67,"context_line":"            EXECUTOR \u003d futurist.GreenThreadPoolExecutor()"},{"line_number":68,"context_line":"    return EXECUTOR"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"class _ContextAuthPlugin(plugin.BaseAuthPlugin):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7d9d517c_0d6c4fb5","side":"PARENT","line":68,"in_reply_to":"05a41f0f_6f37b18c","updated":"2024-05-16 13:37:35.000000000","message":"IMO separates these patches as kind of abstractions of concepts may helps reviewers to better understand the idea and the way it move.","commit_id":"554892bc72c6a3b93c9a8a905e89107e94ca46de"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de23846ff9df479c92802ef81216e2103dd21496","unresolved":true,"context_lines":[{"line_number":65,"context_line":"                max_workers\u003dCONF.osapi_compute_workers)"},{"line_number":66,"context_line":"        else:"},{"line_number":67,"context_line":"            EXECUTOR \u003d futurist.GreenThreadPoolExecutor()"},{"line_number":68,"context_line":"    return EXECUTOR"},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"class _ContextAuthPlugin(plugin.BaseAuthPlugin):"}],"source_content_type":"text/x-python","patch_set":4,"id":"05a41f0f_6f37b18c","side":"PARENT","line":68,"in_reply_to":"f4f96b07_8a215be5","updated":"2024-05-14 11:23:33.000000000","message":"i can move the creation of the shared executor to the previes patch but i think the reset of the patch should be seperate.","commit_id":"554892bc72c6a3b93c9a8a905e89107e94ca46de"}],"nova/image/glance.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"48cb90bab32bdbfcbe2983292f883a33699551a0","unresolved":true,"context_lines":[{"line_number":584,"context_line":"    def _upload_data(self, context, image_id, data):"},{"line_number":585,"context_line":"        # NOTE(aarents) offload upload in a native thread as it can block"},{"line_number":586,"context_line":"        # coroutine in busy environment."},{"line_number":587,"context_line":"        _ \u003d utils.tpool_execute(self._client.call,"},{"line_number":588,"context_line":"                      context, 2, \u0027upload\u0027,"},{"line_number":589,"context_line":"                      args\u003d(image_id, data)).result()"},{"line_number":590,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"f806a54f_8d7d431b","line":587,"range":{"start_line":587,"start_character":8,"end_line":587,"end_character":12},"updated":"2024-05-03 10:11:42.000000000","message":"This assignment looks unnecessary? If it\u0027s doing something special then we should add a comment explaining this.","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5713c641b1e3f42a3d3123abd55805d8c5fc5883","unresolved":false,"context_lines":[{"line_number":584,"context_line":"    def _upload_data(self, context, image_id, data):"},{"line_number":585,"context_line":"        # NOTE(aarents) offload upload in a native thread as it can block"},{"line_number":586,"context_line":"        # coroutine in busy environment."},{"line_number":587,"context_line":"        _ \u003d utils.tpool_execute(self._client.call,"},{"line_number":588,"context_line":"                      context, 2, \u0027upload\u0027,"},{"line_number":589,"context_line":"                      args\u003d(image_id, data)).result()"},{"line_number":590,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"33ee13e8_b2b12c12","line":587,"range":{"start_line":587,"start_character":8,"end_line":587,"end_character":12},"in_reply_to":"e082cc0b_f1c90972","updated":"2024-08-16 13:02:01.000000000","message":"Acknowledged","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de23846ff9df479c92802ef81216e2103dd21496","unresolved":true,"context_lines":[{"line_number":584,"context_line":"    def _upload_data(self, context, image_id, data):"},{"line_number":585,"context_line":"        # NOTE(aarents) offload upload in a native thread as it can block"},{"line_number":586,"context_line":"        # coroutine in busy environment."},{"line_number":587,"context_line":"        _ \u003d utils.tpool_execute(self._client.call,"},{"line_number":588,"context_line":"                      context, 2, \u0027upload\u0027,"},{"line_number":589,"context_line":"                      args\u003d(image_id, data)).result()"},{"line_number":590,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e082cc0b_f1c90972","line":587,"range":{"start_line":587,"start_character":8,"end_line":587,"end_character":12},"in_reply_to":"f806a54f_8d7d431b","updated":"2024-05-14 11:23:33.000000000","message":"it was added by autopep8","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"}],"nova/utils.py":[{"author":{"_account_id":26250,"name":"Johannes Kulik","email":"johannes.kulik@sap.com","username":"jkulik"},"change_message_id":"91a5e830f3981b9f1ce1b91549c5819711b8e0b2","unresolved":true,"context_lines":[{"line_number":722,"context_line":"def _get_default_thread_pool():"},{"line_number":723,"context_line":"    global THREAD_POOL"},{"line_number":724,"context_line":"    if THREAD_POOL is None:"},{"line_number":725,"context_line":"        THREAD_POOL \u003d futurist.ThreadPoolExecutor()"},{"line_number":726,"context_line":"    return THREAD_POOL"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def tpool_execute(func, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"f00e9845_1f509a5e","line":725,"updated":"2024-01-11 08:11:12.000000000","message":"Would it make sense to add a config option allowing to specify (i.e. limit) the threads in the default thread pool?\nAs I see it [1], the default is number of cpus * 5 which can get quite excessive e.g. in a k8s container.\n\n[1] https://github.com/openstack/futurist/blob/master/futurist/_utils.py#L126-L131","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"48cb90bab32bdbfcbe2983292f883a33699551a0","unresolved":true,"context_lines":[{"line_number":722,"context_line":"def _get_default_thread_pool():"},{"line_number":723,"context_line":"    global THREAD_POOL"},{"line_number":724,"context_line":"    if THREAD_POOL is None:"},{"line_number":725,"context_line":"        THREAD_POOL \u003d futurist.ThreadPoolExecutor()"},{"line_number":726,"context_line":"    return THREAD_POOL"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def tpool_execute(func, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"731dfb24_b68cc865","line":725,"in_reply_to":"2c17d2f6_e7fa4889","updated":"2024-05-03 10:11:42.000000000","message":"A TODO here would be fine for now, IMO.","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de23846ff9df479c92802ef81216e2103dd21496","unresolved":true,"context_lines":[{"line_number":722,"context_line":"def _get_default_thread_pool():"},{"line_number":723,"context_line":"    global THREAD_POOL"},{"line_number":724,"context_line":"    if THREAD_POOL is None:"},{"line_number":725,"context_line":"        THREAD_POOL \u003d futurist.ThreadPoolExecutor()"},{"line_number":726,"context_line":"    return THREAD_POOL"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def tpool_execute(func, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"f76aaf93_e579d972","line":725,"in_reply_to":"731dfb24_b68cc865","updated":"2024-05-14 11:23:33.000000000","message":"so for the rbd thread pool i was thinkign about this more and i think i eventually want ot have a single io tread pool adn have that limited by CONF.compute.max_concurrent_disk_ops","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"56ee58920cecd8d0414832fb50d56facfdccbe6d","unresolved":true,"context_lines":[{"line_number":722,"context_line":"def _get_default_thread_pool():"},{"line_number":723,"context_line":"    global THREAD_POOL"},{"line_number":724,"context_line":"    if THREAD_POOL is None:"},{"line_number":725,"context_line":"        THREAD_POOL \u003d futurist.ThreadPoolExecutor()"},{"line_number":726,"context_line":"    return THREAD_POOL"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def tpool_execute(func, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"2c17d2f6_e7fa4889","line":725,"in_reply_to":"f00e9845_1f509a5e","updated":"2024-01-11 13:29:32.000000000","message":"i considered doing that but we didn\u0027t allow that for the existing thread pool which is why i have not done that currently.\n\nwith that said i have no real issue with adding a config option for this.\n\nthis is only used today for uploading glance images and we have a semaphore for that i believe.","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"35cc2718780ab2118f9db40faf977fc67dbbc9eb","unresolved":false,"context_lines":[{"line_number":722,"context_line":"def _get_default_thread_pool():"},{"line_number":723,"context_line":"    global THREAD_POOL"},{"line_number":724,"context_line":"    if THREAD_POOL is None:"},{"line_number":725,"context_line":"        THREAD_POOL \u003d futurist.ThreadPoolExecutor()"},{"line_number":726,"context_line":"    return THREAD_POOL"},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def tpool_execute(func, *args, **kwargs):"}],"source_content_type":"text/x-python","patch_set":1,"id":"c6ec18f6_4e6982bc","line":725,"in_reply_to":"f76aaf93_e579d972","updated":"2024-08-16 13:05:39.000000000","message":"Acknowledged","commit_id":"bc0f081c2f0f5ae9a3505c1dc99b51c8b4a95aee"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"e3d4ac19642f7b2ec8c515154ebd14456776cfae","unresolved":true,"context_lines":[{"line_number":677,"context_line":"def executor_singleton():"},{"line_number":678,"context_line":"    global EXECUTOR"},{"line_number":679,"context_line":"    if EXECUTOR is None:"},{"line_number":680,"context_line":"        if not eventletutils.is_monkey_patched(\u0027thread\u0027):"},{"line_number":681,"context_line":"            EXECUTOR \u003d futurist.ThreadPoolExecutor("},{"line_number":682,"context_line":"                max_workers\u003dCONF.osapi_compute_workers)"},{"line_number":683,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"bfb6bb29_99f3ba19","line":680,"range":{"start_line":680,"start_character":8,"end_line":680,"end_character":57},"updated":"2024-05-16 13:37:35.000000000","message":"Again be careful with that, see my comment here \u003d\u003e https://review.opendev.org/c/openstack/nova/+/905284/comment/c6dd22a2_70eeabf9/","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"292b26b64b5d112383fe0aaa96e7f8efc54b7fa5","unresolved":false,"context_lines":[{"line_number":677,"context_line":"def executor_singleton():"},{"line_number":678,"context_line":"    global EXECUTOR"},{"line_number":679,"context_line":"    if EXECUTOR is None:"},{"line_number":680,"context_line":"        if not eventletutils.is_monkey_patched(\u0027thread\u0027):"},{"line_number":681,"context_line":"            EXECUTOR \u003d futurist.ThreadPoolExecutor("},{"line_number":682,"context_line":"                max_workers\u003dCONF.osapi_compute_workers)"},{"line_number":683,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":4,"id":"6739c26c_449d2df5","line":680,"range":{"start_line":680,"start_character":8,"end_line":680,"end_character":57},"in_reply_to":"bfb6bb29_99f3ba19","updated":"2024-05-21 10:17:07.000000000","message":"Acknowledged","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"48cb90bab32bdbfcbe2983292f883a33699551a0","unresolved":true,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"# TODO(sean-k-mooney: make this delegate to execute"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"def spawn(func, *args, **kwargs):"},{"line_number":696,"context_line":"    \"\"\"Passthrough method for eventlet.spawn."},{"line_number":697,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"0f545a03_0d1c470d","line":694,"updated":"2024-05-03 10:11:42.000000000","message":"nit: can you delete these two spaces to associate the comment with the function","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de23846ff9df479c92802ef81216e2103dd21496","unresolved":true,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"# TODO(sean-k-mooney: make this delegate to execute"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"def spawn(func, *args, **kwargs):"},{"line_number":696,"context_line":"    \"\"\"Passthrough method for eventlet.spawn."},{"line_number":697,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"905caf11_3e0fcb9e","line":694,"in_reply_to":"0f545a03_0d1c470d","updated":"2024-05-14 11:23:33.000000000","message":"no also added by autopep8","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"35cc2718780ab2118f9db40faf977fc67dbbc9eb","unresolved":false,"context_lines":[{"line_number":691,"context_line":""},{"line_number":692,"context_line":"# TODO(sean-k-mooney: make this delegate to execute"},{"line_number":693,"context_line":""},{"line_number":694,"context_line":""},{"line_number":695,"context_line":"def spawn(func, *args, **kwargs):"},{"line_number":696,"context_line":"    \"\"\"Passthrough method for eventlet.spawn."},{"line_number":697,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"898106a6_c820c9f9","line":694,"in_reply_to":"905caf11_3e0fcb9e","updated":"2024-08-16 13:05:39.000000000","message":"Acknowledged","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"48cb90bab32bdbfcbe2983292f883a33699551a0","unresolved":true,"context_lines":[{"line_number":707,"context_line":""},{"line_number":708,"context_line":"# TODO(sean-k-mooney: make this delegate to execute"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"def spawn_n(func, *args, **kwargs):"},{"line_number":712,"context_line":"    \"\"\"Passthrough method for eventlet.greenpool.spawn_n."},{"line_number":713,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"865d2b48_4f795f1e","line":710,"updated":"2024-05-03 10:11:42.000000000","message":"ditto","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"5713c641b1e3f42a3d3123abd55805d8c5fc5883","unresolved":false,"context_lines":[{"line_number":707,"context_line":""},{"line_number":708,"context_line":"# TODO(sean-k-mooney: make this delegate to execute"},{"line_number":709,"context_line":""},{"line_number":710,"context_line":""},{"line_number":711,"context_line":"def spawn_n(func, *args, **kwargs):"},{"line_number":712,"context_line":"    \"\"\"Passthrough method for eventlet.greenpool.spawn_n."},{"line_number":713,"context_line":""}],"source_content_type":"text/x-python","patch_set":4,"id":"e37d5aef_25a97b68","line":710,"in_reply_to":"865d2b48_4f795f1e","updated":"2024-08-16 13:02:01.000000000","message":"Done","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"48cb90bab32bdbfcbe2983292f883a33699551a0","unresolved":true,"context_lines":[{"line_number":722,"context_line":"    pass_context(_get_default_green_pool().spawn_n, func, *args, **kwargs)"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"THREAD_POOL \u003d None"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def _get_default_thread_pool():"}],"source_content_type":"text/x-python","patch_set":4,"id":"36e5053e_e4a1d164","line":725,"updated":"2024-05-03 10:11:42.000000000","message":"Can you place this at the top of the file with the other constants/globals?","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"de23846ff9df479c92802ef81216e2103dd21496","unresolved":true,"context_lines":[{"line_number":722,"context_line":"    pass_context(_get_default_green_pool().spawn_n, func, *args, **kwargs)"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"THREAD_POOL \u003d None"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def _get_default_thread_pool():"}],"source_content_type":"text/x-python","patch_set":4,"id":"74753051_7e849c0f","line":725,"in_reply_to":"36e5053e_e4a1d164","updated":"2024-05-14 11:23:33.000000000","message":"ok","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"35cc2718780ab2118f9db40faf977fc67dbbc9eb","unresolved":false,"context_lines":[{"line_number":722,"context_line":"    pass_context(_get_default_green_pool().spawn_n, func, *args, **kwargs)"},{"line_number":723,"context_line":""},{"line_number":724,"context_line":""},{"line_number":725,"context_line":"THREAD_POOL \u003d None"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def _get_default_thread_pool():"}],"source_content_type":"text/x-python","patch_set":4,"id":"b8b40e91_fc105063","line":725,"in_reply_to":"74753051_7e849c0f","updated":"2024-08-16 13:05:39.000000000","message":"Acknowledged","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":28522,"name":"Hervé Beraud","email":"herveberaud.pro@gmail.com","username":"hberaud"},"change_message_id":"e3d4ac19642f7b2ec8c515154ebd14456776cfae","unresolved":true,"context_lines":[{"line_number":725,"context_line":"THREAD_POOL \u003d None"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def _get_default_thread_pool():"},{"line_number":729,"context_line":"    global THREAD_POOL"},{"line_number":730,"context_line":"    if THREAD_POOL is None:"},{"line_number":731,"context_line":"        THREAD_POOL \u003d futurist.ThreadPoolExecutor()"}],"source_content_type":"text/x-python","patch_set":4,"id":"9834493e_4eca96ad","line":728,"range":{"start_line":728,"start_character":4,"end_line":728,"end_character":28},"updated":"2024-05-16 13:37:35.000000000","message":"Maybe I missed something, but I\u0027m not sure to see how it could be, in all cases, different than `None`.","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"35cc2718780ab2118f9db40faf977fc67dbbc9eb","unresolved":false,"context_lines":[{"line_number":725,"context_line":"THREAD_POOL \u003d None"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def _get_default_thread_pool():"},{"line_number":729,"context_line":"    global THREAD_POOL"},{"line_number":730,"context_line":"    if THREAD_POOL is None:"},{"line_number":731,"context_line":"        THREAD_POOL \u003d futurist.ThreadPoolExecutor()"}],"source_content_type":"text/x-python","patch_set":4,"id":"e2149a75_7671424a","line":728,"range":{"start_line":728,"start_character":4,"end_line":728,"end_character":28},"in_reply_to":"8ca46a7a_49b92f15","updated":"2024-08-16 13:05:39.000000000","message":"Acknowledged","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"292b26b64b5d112383fe0aaa96e7f8efc54b7fa5","unresolved":true,"context_lines":[{"line_number":725,"context_line":"THREAD_POOL \u003d None"},{"line_number":726,"context_line":""},{"line_number":727,"context_line":""},{"line_number":728,"context_line":"def _get_default_thread_pool():"},{"line_number":729,"context_line":"    global THREAD_POOL"},{"line_number":730,"context_line":"    if THREAD_POOL is None:"},{"line_number":731,"context_line":"        THREAD_POOL \u003d futurist.ThreadPoolExecutor()"}],"source_content_type":"text/x-python","patch_set":4,"id":"8ca46a7a_49b92f15","line":728,"range":{"start_line":728,"start_character":4,"end_line":728,"end_character":28},"in_reply_to":"9834493e_4eca96ad","updated":"2024-05-21 10:17:07.000000000","message":"this is the singelton pattern\n\non the first invocation THREAD_POOL is None\nand we constuct it which is why i declare it as a global below\nthen its stored in the module level variabel for the next execution.","commit_id":"9b61ea5d8f9eeb54971501fd54a9654c9cb24cb3"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b11dec82ac6facf9257ae19fa7b2c0f64f14757f","unresolved":true,"context_lines":[{"line_number":86,"context_line":"_SERVICE_TYPES \u003d service_types.ServiceTypes()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"DEFAULT_GREEN_POOL \u003d None"},{"line_number":89,"context_line":"# The  futurist executor"},{"line_number":90,"context_line":"IO_THREAD_POOL_EXECUTOR \u003d None"},{"line_number":91,"context_line":"# TODO(sean-k-mooney) factor out a new config option"},{"line_number":92,"context_line":"# to control the io worker count"}],"source_content_type":"text/x-python","patch_set":8,"id":"9473fa83_9a893278","side":"PARENT","line":89,"updated":"2024-08-26 14:05:49.000000000","message":"I guess this is removed unintentionally","commit_id":"80b792b8704184215c94406e3e2b78256725ca99"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b4e6f33ecf8cba02a7b93ac552425d1dd4d68823","unresolved":true,"context_lines":[{"line_number":86,"context_line":"_SERVICE_TYPES \u003d service_types.ServiceTypes()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"DEFAULT_GREEN_POOL \u003d None"},{"line_number":89,"context_line":"# The  futurist executor"},{"line_number":90,"context_line":"IO_THREAD_POOL_EXECUTOR \u003d None"},{"line_number":91,"context_line":"# TODO(sean-k-mooney) factor out a new config option"},{"line_number":92,"context_line":"# to control the io worker count"}],"source_content_type":"text/x-python","patch_set":8,"id":"f6bc7e2e_88382908","side":"PARENT","line":89,"in_reply_to":"9473fa83_9a893278","updated":"2024-08-26 16:10:01.000000000","message":"i remvoed it because i didnt think it added any real value\nbut it shoudl have been remvoed in the previous patch.","commit_id":"80b792b8704184215c94406e3e2b78256725ca99"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"52106c53775eda8c8fbb4c1bfa2413c99095bd46","unresolved":true,"context_lines":[{"line_number":86,"context_line":"_SERVICE_TYPES \u003d service_types.ServiceTypes()"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"DEFAULT_GREEN_POOL \u003d None"},{"line_number":89,"context_line":"# The  futurist executor"},{"line_number":90,"context_line":"IO_THREAD_POOL_EXECUTOR \u003d None"},{"line_number":91,"context_line":"# TODO(sean-k-mooney) factor out a new config option"},{"line_number":92,"context_line":"# to control the io worker count"}],"source_content_type":"text/x-python","patch_set":8,"id":"aa1fdb99_6775c1cd","side":"PARENT","line":89,"in_reply_to":"f6bc7e2e_88382908","updated":"2024-08-27 09:09:09.000000000","message":"sure, lets remove this in the original place.","commit_id":"80b792b8704184215c94406e3e2b78256725ca99"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"b11dec82ac6facf9257ae19fa7b2c0f64f14757f","unresolved":true,"context_lines":[{"line_number":33,"context_line":"import netaddr"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"import os_resource_classes as orc"},{"line_number":36,"context_line":"import oslo_messaging as messaging"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"from keystoneauth1 import loading as ks_loading"},{"line_number":39,"context_line":"from openstack import connection"}],"source_content_type":"text/x-python","patch_set":8,"id":"afca5726_c86f6a9a","line":36,"updated":"2024-08-26 14:05:49.000000000","message":"this import reordering feels arbitrary","commit_id":"c2b058a76462de1833cbe49f8e8b23469c78f8c2"},{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"b4e6f33ecf8cba02a7b93ac552425d1dd4d68823","unresolved":true,"context_lines":[{"line_number":33,"context_line":"import netaddr"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"import os_resource_classes as orc"},{"line_number":36,"context_line":"import oslo_messaging as messaging"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"from keystoneauth1 import loading as ks_loading"},{"line_number":39,"context_line":"from openstack import connection"}],"source_content_type":"text/x-python","patch_set":8,"id":"eb1f7ead_50c39d3a","line":36,"in_reply_to":"afca5726_c86f6a9a","updated":"2024-08-26 16:10:01.000000000","message":"its because i strongly disagree with mixing \n\nimport x \nand\nfrom x import y \n\nand alwasy fix this when im touchin the relevent code","commit_id":"c2b058a76462de1833cbe49f8e8b23469c78f8c2"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"52106c53775eda8c8fbb4c1bfa2413c99095bd46","unresolved":true,"context_lines":[{"line_number":33,"context_line":"import netaddr"},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"import os_resource_classes as orc"},{"line_number":36,"context_line":"import oslo_messaging as messaging"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"from keystoneauth1 import loading as ks_loading"},{"line_number":39,"context_line":"from openstack import connection"}],"source_content_type":"text/x-python","patch_set":8,"id":"8fbbd410_e8abc490","line":36,"in_reply_to":"eb1f7ead_50c39d3a","updated":"2024-08-27 09:09:09.000000000","message":"can we do that reordering in a separate series that only does the import reordering to keep the scope of these patches limited?","commit_id":"c2b058a76462de1833cbe49f8e8b23469c78f8c2"}]}
