)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"36b3e1632e4b809afbca6bf0cc6900082f87ff14","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"9682c70f_12374d9a","updated":"2026-03-27 01:27:13.000000000","message":"I think it will good to add release notes so that projects can start making their service instance pickable if there are not.","commit_id":"8963d431478f146c0f194087b144d26dc2ff4b21"},{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d54d9b62c1952148d65c79d81cce032eefc32f35","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"26df7bd0_f6ec3c8e","updated":"2026-03-27 10:27:29.000000000","message":"Soft -1 for import order, but I agree with @gmaan.os14@gmail.com RE: a release note for this being helpful","commit_id":"8963d431478f146c0f194087b144d26dc2ff4b21"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f9841617ef306918aaf73b1baf2ae07d58bf0b95","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a477d411_f98d4f2a","updated":"2026-03-27 01:03:49.000000000","message":"lgtm, thanks","commit_id":"8963d431478f146c0f194087b144d26dc2ff4b21"},{"author":{"_account_id":10342,"name":"Jay Faulkner","display_name":"JayF","email":"jay@jvf.cc","username":"JayF","status":"youtube.com/@oss-gr / podcast.gr-oss.io"},"change_message_id":"556954ede511f45ba6b0acd73f4bda9c5da81532","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":3,"id":"4de83fb3_072ec4de","updated":"2026-03-31 17:42:52.000000000","message":"GR-OSS group review that also included Clif Houck.","commit_id":"e7866e79ea0a69242ccf469d0789523dd7d142e7"},{"author":{"_account_id":9816,"name":"Takashi Kajinami","email":"kajinamit@oss.nttdata.com","username":"kajinamit"},"change_message_id":"7e0a0444ab3f35f58ab76ddfdf4101c9c9d96a2a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"cfcb103d_60d1c6ae","updated":"2026-05-04 16:21:16.000000000","message":"Thanks. To be honest I\u0027m surprised to see this was not fixed when we introduced the pickle thing during the previous cycle, because it sounds like the function has never worked as expected really...","commit_id":"e7866e79ea0a69242ccf469d0789523dd7d142e7"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"66e0b6d63f15827472b01612a8b9d4e80df4ec46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"b01b3264_ee286e6e","updated":"2026-03-27 16:06:46.000000000","message":"lgtm, thanks","commit_id":"e7866e79ea0a69242ccf469d0789523dd7d142e7"}],"oslo_service/backend/_threading/service.py":[{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f9841617ef306918aaf73b1baf2ae07d58bf0b95","unresolved":true,"context_lines":[{"line_number":273,"context_line":"    def __setstate__(self, state):"},{"line_number":274,"context_line":"        thread_pool_size \u003d state.pop(\u0027_thread_pool_size\u0027, 1000)"},{"line_number":275,"context_line":"        self.__dict__.update(state)"},{"line_number":276,"context_line":"        self.tg \u003d threadgroup.ThreadGroup(thread_pool_size)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    def reset(self):"},{"line_number":279,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"b019f18f_9e9bec8d","line":276,"range":{"start_line":276,"start_character":5,"end_line":276,"end_character":59},"updated":"2026-03-27 01:03:49.000000000","message":"I was thinking to make self.tg._lock pickable in ThreadGroup which will evantually make the Service pickable but as self.tg can have the running thread then it is better to recreate it.","commit_id":"8963d431478f146c0f194087b144d26dc2ff4b21"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"dc9f1f3fd81da83896bc0a72205fa06cfd86d3d2","unresolved":true,"context_lines":[{"line_number":273,"context_line":"    def __setstate__(self, state):"},{"line_number":274,"context_line":"        thread_pool_size \u003d state.pop(\u0027_thread_pool_size\u0027, 1000)"},{"line_number":275,"context_line":"        self.__dict__.update(state)"},{"line_number":276,"context_line":"        self.tg \u003d threadgroup.ThreadGroup(thread_pool_size)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    def reset(self):"},{"line_number":279,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"ff69a58d_b670490b","line":276,"range":{"start_line":276,"start_character":5,"end_line":276,"end_character":59},"in_reply_to":"b019f18f_9e9bec8d","updated":"2026-03-27 13:03:03.000000000","message":"Is it even possible to pickle a threadgroup? if there\u0027s no lock, there\u0027s most likely a running thread.","commit_id":"8963d431478f146c0f194087b144d26dc2ff4b21"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"66e0b6d63f15827472b01612a8b9d4e80df4ec46","unresolved":false,"context_lines":[{"line_number":273,"context_line":"    def __setstate__(self, state):"},{"line_number":274,"context_line":"        thread_pool_size \u003d state.pop(\u0027_thread_pool_size\u0027, 1000)"},{"line_number":275,"context_line":"        self.__dict__.update(state)"},{"line_number":276,"context_line":"        self.tg \u003d threadgroup.ThreadGroup(thread_pool_size)"},{"line_number":277,"context_line":""},{"line_number":278,"context_line":"    def reset(self):"},{"line_number":279,"context_line":"        pass"}],"source_content_type":"text/x-python","patch_set":2,"id":"d9f3f0b8_f31c4873","line":276,"range":{"start_line":276,"start_character":5,"end_line":276,"end_character":59},"in_reply_to":"ff69a58d_b670490b","updated":"2026-03-27 16:06:46.000000000","message":"True, I was thinking to cleanup all running thread but this is better agree.","commit_id":"8963d431478f146c0f194087b144d26dc2ff4b21"}],"oslo_service/tests/backend/threading/test_launcher.py":[{"author":{"_account_id":15334,"name":"Stephen Finucane","display_name":"stephenfin","email":"stephenfin@redhat.com","username":"sfinucan"},"change_message_id":"d54d9b62c1952148d65c79d81cce032eefc32f35","unresolved":true,"context_lines":[{"line_number":195,"context_line":"class ServicePickleTestCase(TestCase):"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def test_threading_service_roundtrip(self):"},{"line_number":198,"context_line":"        import pickle"},{"line_number":199,"context_line":"        svc \u003d service.Service(threads\u003d500)"},{"line_number":200,"context_line":"        data \u003d pickle.dumps(svc)"},{"line_number":201,"context_line":"        restored \u003d pickle.loads(data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"7e8e8d60_4d8604dc","line":198,"updated":"2026-03-27 10:27:29.000000000","message":"Can we import this up top?","commit_id":"8963d431478f146c0f194087b144d26dc2ff4b21"},{"author":{"_account_id":36770,"name":"cid","display_name":"cid","email":"cid@gr-oss.io","username":"cidelight","status":"@gr-oss upstream: Doing good IRONIC things..."},"change_message_id":"cdb8911c56100e65268a572f25f95388f28fa22d","unresolved":false,"context_lines":[{"line_number":195,"context_line":"class ServicePickleTestCase(TestCase):"},{"line_number":196,"context_line":""},{"line_number":197,"context_line":"    def test_threading_service_roundtrip(self):"},{"line_number":198,"context_line":"        import pickle"},{"line_number":199,"context_line":"        svc \u003d service.Service(threads\u003d500)"},{"line_number":200,"context_line":"        data \u003d pickle.dumps(svc)"},{"line_number":201,"context_line":"        restored \u003d pickle.loads(data)"}],"source_content_type":"text/x-python","patch_set":2,"id":"b4faf655_ec3661a0","line":198,"in_reply_to":"7e8e8d60_4d8604dc","updated":"2026-03-27 12:57:37.000000000","message":"Acknowledged","commit_id":"8963d431478f146c0f194087b144d26dc2ff4b21"}]}
