)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"d5dc864f2663c39fa4e471af29769abd4575d109","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"890709d6_6c658718","updated":"2026-04-08 16:56:40.000000000","message":"typo in futurist need correction","commit_id":"350254f59cf8ee4b87a806d5e16a03692099e207"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"a3f788cba7ef9785a6eda21a8271af4aed75acb8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"a45223d2_43d932d0","updated":"2026-04-15 12:00:31.000000000","message":"Looks okay, minor nit.","commit_id":"58498762edf871f52d7963156800275c668bb889"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"a29b68f032e9c055584a8d8be72002088726018f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":8,"id":"2584e21c_f39331f3","updated":"2026-04-09 18:55:43.000000000","message":"recheck\n\ngit fetch failed in pep8 job","commit_id":"58498762edf871f52d7963156800275c668bb889"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"9d1736a583eb75081bb7fa9a9bc3c663d35af130","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":12,"id":"a25b8fe1_6ad6927b","updated":"2026-04-28 12:54:16.000000000","message":"recheck\n\ndevstack-plugin-nfs-tempest-full failed","commit_id":"bbccde0aa9033d38f1998c2e515e48294f7a7b51"},{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"389c0e2c522faac85f4348c7b96e91c2600c4580","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"a82754e2_967c36d0","updated":"2026-05-01 15:39:48.000000000","message":"LGYM.","commit_id":"91ea6755b432bca6d2e73b133e3b26ff60e2aea5"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"68dbeb6c73e2e2d8103bde82d20355ea5f0a3dce","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":14,"id":"061a59ba_17582917","updated":"2026-05-01 14:47:12.000000000","message":"Yep.","commit_id":"91ea6755b432bca6d2e73b133e3b26ff60e2aea5"}],"cinder/manager.py":[{"author":{"_account_id":36171,"name":"jayaanand borra","display_name":"jayaanand borra","email":"jayaanand.borra@netapp.com","username":"jayaanan","status":"netapp"},"change_message_id":"d5dc864f2663c39fa4e471af29769abd4575d109","unresolved":true,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def _init_pool(self, max_workers):"},{"line_number":254,"context_line":"        if monkey_patch.is_patched():"},{"line_number":255,"context_line":"            self._tpe \u003d futurist.GreenThreadPoolExecutor(max_workers)"},{"line_number":256,"context_line":"        else:"},{"line_number":257,"context_line":"            self._tpe \u003d futurist.ThreadPoolExecutor(max_workers)"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"0ddbdd59_e9fa7ed0","line":255,"updated":"2026-04-08 16:56:40.000000000","message":"#248 you are using GreenThreadPoolExecutor instead you GreenPoolExecutor. can you check futurist has which one? GreenThreadPoolExecutor or GreenPoolExecutor from line#248","commit_id":"350254f59cf8ee4b87a806d5e16a03692099e207"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"4e05b7f63a863b8579bae91966fa18bb2f88a6b6","unresolved":false,"context_lines":[{"line_number":252,"context_line":""},{"line_number":253,"context_line":"    def _init_pool(self, max_workers):"},{"line_number":254,"context_line":"        if monkey_patch.is_patched():"},{"line_number":255,"context_line":"            self._tpe \u003d futurist.GreenThreadPoolExecutor(max_workers)"},{"line_number":256,"context_line":"        else:"},{"line_number":257,"context_line":"            self._tpe \u003d futurist.ThreadPoolExecutor(max_workers)"},{"line_number":258,"context_line":""}],"source_content_type":"text/x-python","patch_set":5,"id":"62457274_fe812c3f","line":255,"in_reply_to":"0ddbdd59_e9fa7ed0","updated":"2026-04-08 17:15:52.000000000","message":"Good catch, the type annotation is misspelled.","commit_id":"350254f59cf8ee4b87a806d5e16a03692099e207"},{"author":{"_account_id":9236,"name":"Jon Bernard","email":"jobernar@redhat.com","username":"jbernard"},"change_message_id":"a3f788cba7ef9785a6eda21a8271af4aed75acb8","unresolved":true,"context_lines":[{"line_number":176,"context_line":"        if monkey_patch.is_patched():"},{"line_number":177,"context_line":"            self._tp \u003d greenpool.GreenPool()"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def _add_to_threadpool(self, func, *args, **kwargs) -\u003e None:"},{"line_number":180,"context_line":"        if monkey_patch.is_patched():"},{"line_number":181,"context_line":"            assert self._tp is not None"},{"line_number":182,"context_line":"            self._tp.spawn_n(func, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":8,"id":"8b014e97_819954c7","line":179,"updated":"2026-04-15 12:00:31.000000000","message":"nit: this could read better, why not check if not patched and raise(), then proceed to spawn_n()","commit_id":"58498762edf871f52d7963156800275c668bb889"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"ce2a928e84217556d2ff183e65828337a4303501","unresolved":false,"context_lines":[{"line_number":176,"context_line":"        if monkey_patch.is_patched():"},{"line_number":177,"context_line":"            self._tp \u003d greenpool.GreenPool()"},{"line_number":178,"context_line":""},{"line_number":179,"context_line":"    def _add_to_threadpool(self, func, *args, **kwargs) -\u003e None:"},{"line_number":180,"context_line":"        if monkey_patch.is_patched():"},{"line_number":181,"context_line":"            assert self._tp is not None"},{"line_number":182,"context_line":"            self._tp.spawn_n(func, *args, **kwargs)"}],"source_content_type":"text/x-python","patch_set":8,"id":"030b1eed_b7f9ee82","line":179,"in_reply_to":"8b014e97_819954c7","updated":"2026-04-15 12:29:08.000000000","message":"Done","commit_id":"58498762edf871f52d7963156800275c668bb889"}],"cinder/volume/manager.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"799f2a41d92c169ac3ee061ce779d5c3e4587a31","unresolved":true,"context_lines":[{"line_number":195,"context_line":"}"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"class SizedThreadPoolManager(manager.SchedulerDependentManager):"},{"line_number":199,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":200,"context_line":"        self._tp: Optional[futurist.GreenPoolExecutor |"},{"line_number":201,"context_line":"                           futurist.ThreadPoolExecutor] \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"2481e948_9e26cfa9","line":198,"updated":"2026-04-02 14:42:02.000000000","message":"Move this to cinder/manager.py so it can also be used by the backup service.","commit_id":"74497b3bfbe134565e630908addc0a2aebe35932"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"d29fd88a1cdcc0f986fabe32c11419b7a6206b83","unresolved":false,"context_lines":[{"line_number":195,"context_line":"}"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":""},{"line_number":198,"context_line":"class SizedThreadPoolManager(manager.SchedulerDependentManager):"},{"line_number":199,"context_line":"    def __init__(self, *args, **kwargs):"},{"line_number":200,"context_line":"        self._tp: Optional[futurist.GreenPoolExecutor |"},{"line_number":201,"context_line":"                           futurist.ThreadPoolExecutor] \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"9b04f34a_704fe2ed","line":198,"in_reply_to":"2481e948_9e26cfa9","updated":"2026-04-08 15:18:02.000000000","message":"Done","commit_id":"74497b3bfbe134565e630908addc0a2aebe35932"}]}
