)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"84253a38958538c6fd6f173c66ce0b57e0870ba2","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix bug in background sending"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"thread\u0027s daemon property needs to be set from calling thread"},{"line_number":10,"context_line":"also, check for thread death and restart the thread when necessary"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Change-Id: I9a8fad8036a0887653d2ad5f99f6b5b1b953c2db"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"dada55a8_d153af69","line":10,"updated":"2016-07-20 10:19:03.000000000","message":"How can the thread be dead ?","commit_id":"ae409f0c47106cbf184fe31297e378f6cd907dec"}],"ceilometermiddleware/swift.py":[{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"84253a38958538c6fd6f173c66ce0b57e0870ba2","unresolved":false,"context_lines":[{"line_number":313,"context_line":"                _LOG.debug(\u0027Got event %s from queue - now send it\u0027, event.id)"},{"line_number":314,"context_line":"                Swift.send_notification(self.notifier, event)"},{"line_number":315,"context_line":"                _LOG.debug(\u0027Event %s sent.\u0027, event.id)"},{"line_number":316,"context_line":"            except Exception:"},{"line_number":317,"context_line":"                _LOG.exception(\"SendEventThread loop exception\")"},{"line_number":318,"context_line":""},{"line_number":319,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"dada55a8_31fb2b49","line":316,"updated":"2016-07-20 10:19:03.000000000","message":"Catch BaseException if you really want to have all exceptions catched.","commit_id":"ae409f0c47106cbf184fe31297e378f6cd907dec"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"cae71a26afb2e4cda4087c85e55d2ef9ab3bf2ab","unresolved":false,"context_lines":[{"line_number":278,"context_line":"        if self.nonblocking_notify:"},{"line_number":279,"context_line":"            try:"},{"line_number":280,"context_line":"                Swift.event_queue.put(event, False)"},{"line_number":281,"context_line":"                if not Swift.event_sender.is_alive():"},{"line_number":282,"context_line":"                    Swift.threadLock.acquire()"},{"line_number":283,"context_line":"                    self.start_sender_thread()"},{"line_number":284,"context_line":"                    Swift.threadLock.release()"}],"source_content_type":"text/x-python","patch_set":2,"id":"dada55a8_27eda8b7","line":281,"updated":"2016-07-26 09:49:29.000000000","message":"I still think this cannot occurs and if it occurs we have a bug somewhere, but anyways I\u0027m ok with this seatbelt.\n\nnit: Perhaps we can add a LOG.debug about the fact the thread have disappeared.","commit_id":"e2e48b5d11f2bc2d67093b8a1a47f859afc03e52"}]}
