)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"a9859ee2622e7f1eac08d734fab5954a1af0df66","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"3012a4f8_d5840dc8","updated":"2026-01-22 14:29:08.000000000","message":"Zuul is now happy so I\u0027m happy too, but we could add a comment if we need to modify this.","commit_id":"a9b8c4aee17c2ac468a137979599bc2024778925"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ff5ed6253779b2c023f6ff682dcfc1af0e053048","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"446a0312_75654c50","updated":"2026-01-22 19:15:49.000000000","message":"lgtm, thanks for finding it. If needed and as requested by Sylvain, a comment can be added but seeing his +2 I think that is not blocker.","commit_id":"a9b8c4aee17c2ac468a137979599bc2024778925"}],"nova/tests/fixtures/nova.py":[{"author":{"_account_id":11604,"name":"sean mooney","email":"smooney@redhat.com","username":"sean-k-mooney"},"change_message_id":"c5508bb14b190c82ad4fc36438df9ee65b856ee9","unresolved":true,"context_lines":[{"line_number":2191,"context_line":"            messaging._drivers.base.PollStyleListenerAdapter.start)"},{"line_number":2192,"context_line":""},{"line_number":2193,"context_line":"        def wrapped_start(_self, *args, **kwargs):"},{"line_number":2194,"context_line":"            stack \u003d \"\".join(traceback.format_stack())"},{"line_number":2195,"context_line":"            self.addCleanup(lambda: self._check_listener_stopped(_self, stack))"},{"line_number":2196,"context_line":"            return orig_start(_self, *args, **kwargs)"},{"line_number":2197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"e908c7cd_13eb2b95","line":2194,"updated":"2026-01-22 11:53:30.000000000","message":"hum i have never actully used that before but ya i can see how this would produces a better debuging expicnase as we will log the traceback of the test case.\n\nwith that said i think the runtime error woudl triger the test suite to do that also so im not sure if this is needed but im fine with doing it.","commit_id":"a9b8c4aee17c2ac468a137979599bc2024778925"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4d4e84ad2ec9eede23d0b4fc6160497fbbcaac02","unresolved":false,"context_lines":[{"line_number":2191,"context_line":"            messaging._drivers.base.PollStyleListenerAdapter.start)"},{"line_number":2192,"context_line":""},{"line_number":2193,"context_line":"        def wrapped_start(_self, *args, **kwargs):"},{"line_number":2194,"context_line":"            stack \u003d \"\".join(traceback.format_stack())"},{"line_number":2195,"context_line":"            self.addCleanup(lambda: self._check_listener_stopped(_self, stack))"},{"line_number":2196,"context_line":"            return orig_start(_self, *args, **kwargs)"},{"line_number":2197,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"74c9671a_b8999c8e","line":2194,"in_reply_to":"e908c7cd_13eb2b95","updated":"2026-01-22 20:28:12.000000000","message":"The place where the test case starts the thread is far from the fixture cleanup phase which triggers the test failure. Therefore we record the stack trace where the thread is started to help debugging. This is necessary as starting the thread alone is not a bug, the bug is forgetting to stopping the thread at the end of the test case. So this fixture should not fail at the test when the thread is started.","commit_id":"a9b8c4aee17c2ac468a137979599bc2024778925"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"a9859ee2622e7f1eac08d734fab5954a1af0df66","unresolved":true,"context_lines":[{"line_number":2206,"context_line":"        listener: messaging._drivers.base.PollStyleListenerAdapter,"},{"line_number":2207,"context_line":"        stack: str,"},{"line_number":2208,"context_line":"    ):"},{"line_number":2209,"context_line":"        if listener._started:"},{"line_number":2210,"context_line":"            raise RuntimeError("},{"line_number":2211,"context_line":"                \u0027The test case leaked an active oslo_messaging poller thread. \u0027"},{"line_number":2212,"context_line":"                \u0027This can lead to unexpected failures in later test case. \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"b4a18f9a_d2fe43d7","line":2209,"range":{"start_line":2209,"start_character":20,"end_line":2209,"end_character":28},"updated":"2026-01-22 14:29:08.000000000","message":"that\u0027s an internal oslo_messaging internal attribute https://github.com/openstack/oslo.messaging/blob/deb484f477e669ad68240db5abe0d45a0a2a145a/oslo_messaging/_drivers/base.py#L284 but hopefully it won\u0027t removed in a new olso.messaging version.\n\nMaybe you could add a comment to tell that ?","commit_id":"a9b8c4aee17c2ac468a137979599bc2024778925"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"ff5ed6253779b2c023f6ff682dcfc1af0e053048","unresolved":true,"context_lines":[{"line_number":2206,"context_line":"        listener: messaging._drivers.base.PollStyleListenerAdapter,"},{"line_number":2207,"context_line":"        stack: str,"},{"line_number":2208,"context_line":"    ):"},{"line_number":2209,"context_line":"        if listener._started:"},{"line_number":2210,"context_line":"            raise RuntimeError("},{"line_number":2211,"context_line":"                \u0027The test case leaked an active oslo_messaging poller thread. \u0027"},{"line_number":2212,"context_line":"                \u0027This can lead to unexpected failures in later test case. \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"da81f24e_cd0623cb","line":2209,"range":{"start_line":2209,"start_character":20,"end_line":2209,"end_character":28},"in_reply_to":"b4a18f9a_d2fe43d7","updated":"2026-01-22 19:15:49.000000000","message":"yeah, we should avoid using it but oslo.messaging is havly depend on this var and I am not sure it will be removed or even renamed :) but if that happen we can add a new method in listener is_started(). for now, I am ok.","commit_id":"a9b8c4aee17c2ac468a137979599bc2024778925"},{"author":{"_account_id":9708,"name":"Balazs Gibizer","display_name":"gibi","email":"gibizer@gmail.com","username":"gibi"},"change_message_id":"4d4e84ad2ec9eede23d0b4fc6160497fbbcaac02","unresolved":false,"context_lines":[{"line_number":2206,"context_line":"        listener: messaging._drivers.base.PollStyleListenerAdapter,"},{"line_number":2207,"context_line":"        stack: str,"},{"line_number":2208,"context_line":"    ):"},{"line_number":2209,"context_line":"        if listener._started:"},{"line_number":2210,"context_line":"            raise RuntimeError("},{"line_number":2211,"context_line":"                \u0027The test case leaked an active oslo_messaging poller thread. \u0027"},{"line_number":2212,"context_line":"                \u0027This can lead to unexpected failures in later test case. \u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"4a78af63_ee80d8a9","line":2209,"range":{"start_line":2209,"start_character":20,"end_line":2209,"end_character":28},"in_reply_to":"da81f24e_cd0623cb","updated":"2026-01-22 20:28:12.000000000","message":"\u003e Maybe you could add a comment to tell that ?\n\nA comment will not prevent the removal of the field so I don\u0027t see the point of it.\n\n--\n\nThere is no easy hook point into oslo_messaging from the test to catch the polling thread creation and check the state of the thread at the end of the test case. What I did here needed the least amount of hoops to jump through.","commit_id":"a9b8c4aee17c2ac468a137979599bc2024778925"},{"author":{"_account_id":7166,"name":"Sylvain Bauza","email":"sbauza@redhat.com","username":"sbauza"},"change_message_id":"a9859ee2622e7f1eac08d734fab5954a1af0df66","unresolved":false,"context_lines":[{"line_number":2213,"context_line":"                \u0027Please stop the RPC server or the nova.service.Service \u0027"},{"line_number":2214,"context_line":"                \u0027instance in your test case e.g. by using \u0027"},{"line_number":2215,"context_line":"                \u0027self.addCleanup(...). The test started the poller at the \u0027"},{"line_number":2216,"context_line":"                \u0027following place:\\n%s\u0027 % stack)"}],"source_content_type":"text/x-python","patch_set":1,"id":"42c1a8a3_d3b6a8c1","line":2216,"updated":"2026-01-22 14:29:08.000000000","message":"ahah, good opportunity for people if they forget to stop the service.","commit_id":"a9b8c4aee17c2ac468a137979599bc2024778925"}]}
