)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"d10c633235462ad81a41ee3e2c6fab841eeb4d05","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"2bdd5e47_b9483dc3","updated":"2025-01-08 10:01:19.000000000","message":"check experimental","commit_id":"29ed88a37e1796f096cbe57059d187b03bde17f8"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"66ea6d5c3dd2460039f1d512a7746a39e911e53b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a2713695_7104bee6","updated":"2025-01-08 09:59:53.000000000","message":"check experimental, https://github.com/svinota/pyroute2/pull/1234 merged","commit_id":"29ed88a37e1796f096cbe57059d187b03bde17f8"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"09116fd31f2cdcf83315b0dafd4399e26122f5fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"d0fac8e9_ae1f8e79","updated":"2025-02-25 18:11:38.000000000","message":"recheck functional, the failed test is the same as before...","commit_id":"a0e2b939a91275c86c0698d9780546ce1461cf6d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"cf844b9f003a2d5ae4350f7b2379afb8afbcf8eb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":6,"id":"9848eb06_7653a9f8","updated":"2025-02-25 14:51:06.000000000","message":"recheck neutron-functional","commit_id":"a0e2b939a91275c86c0698d9780546ce1461cf6d"}],"neutron/agent/l3/ha.py":[{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"3b2444796eb00cca49117672fc0384f96ee9fdd1","unresolved":true,"context_lines":[{"line_number":147,"context_line":"                      router_id, state)"},{"line_number":148,"context_line":"            state_change \u003d threading.Thread(target\u003dself._enqueue_state_change,"},{"line_number":149,"context_line":"                             args\u003d(router_id, state))"},{"line_number":150,"context_line":"            state_change.start()"},{"line_number":151,"context_line":"            # TODO(ralonsoh): remove once the eventlet deprecation is finished."},{"line_number":152,"context_line":"            time.sleep(0)"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"b6c84bca_da0e57c5","line":150,"updated":"2025-01-13 15:59:29.000000000","message":"Do we need a join() here as well like the parent change?","commit_id":"9e3ecc01bea5578156feeecf29ff8a1ca863fe88"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"7ed04f1fafbff72ef1ad6864f7db59f0b1c3186c","unresolved":false,"context_lines":[{"line_number":147,"context_line":"                      router_id, state)"},{"line_number":148,"context_line":"            state_change \u003d threading.Thread(target\u003dself._enqueue_state_change,"},{"line_number":149,"context_line":"                             args\u003d(router_id, state))"},{"line_number":150,"context_line":"            state_change.start()"},{"line_number":151,"context_line":"            # TODO(ralonsoh): remove once the eventlet deprecation is finished."},{"line_number":152,"context_line":"            time.sleep(0)"},{"line_number":153,"context_line":""}],"source_content_type":"text/x-python","patch_set":3,"id":"3fa02249_353d9a30","line":150,"in_reply_to":"b6c84bca_da0e57c5","updated":"2025-01-14 11:18:23.000000000","message":"That will hold the execution of ``KeepalivedStateChangeHandler.enqueue``. In any case, it should be considered to execute ``_enqueue_state_change`` in the same thread as an improvement; what is the cost of blocking ``KeepalivedStateChangeHandler.enqueue``?","commit_id":"9e3ecc01bea5578156feeecf29ff8a1ca863fe88"},{"author":{"_account_id":1131,"name":"Brian Haley","email":"haleyb.dev@gmail.com","username":"brian-haley"},"change_message_id":"eb7aaf3087ec203a6629c1d25716293c9d8755e2","unresolved":true,"context_lines":[{"line_number":86,"context_line":"            self._calculate_batch_duration(), self.notify_server)"},{"line_number":87,"context_line":"        notifications_server \u003d threading.Thread("},{"line_number":88,"context_line":"            target\u003dself._start_keepalived_notifications_server)"},{"line_number":89,"context_line":"        notifications_server.start()"},{"line_number":90,"context_line":"        self._transition_states \u003d {}"},{"line_number":91,"context_line":"        self._transition_state_mutex \u003d threading.Lock()"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"0b720a35_86a07d59","line":89,"updated":"2025-02-25 21:54:02.000000000","message":"nit: i guess we could have just made this threading.Thread(...).start() since we never use notifications_server otherwise. Noticed after looking at one of Sahid\u0027s changes.","commit_id":"a0e2b939a91275c86c0698d9780546ce1461cf6d"},{"author":{"_account_id":16688,"name":"Rodolfo Alonso","email":"ralonsoh@redhat.com","username":"rodolfo-alonso-hernandez"},"change_message_id":"6684bd88e89cf1423621f048b9a8af140b395158","unresolved":false,"context_lines":[{"line_number":86,"context_line":"            self._calculate_batch_duration(), self.notify_server)"},{"line_number":87,"context_line":"        notifications_server \u003d threading.Thread("},{"line_number":88,"context_line":"            target\u003dself._start_keepalived_notifications_server)"},{"line_number":89,"context_line":"        notifications_server.start()"},{"line_number":90,"context_line":"        self._transition_states \u003d {}"},{"line_number":91,"context_line":"        self._transition_state_mutex \u003d threading.Lock()"},{"line_number":92,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3001607e_9008a0b2","line":89,"in_reply_to":"0b720a35_86a07d59","updated":"2025-02-26 06:20:07.000000000","message":"Right, if I need to respin, I\u0027ll remove it.","commit_id":"a0e2b939a91275c86c0698d9780546ce1461cf6d"}]}
