)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1669,"name":"Julien Danjou","display_name":"jd","email":"julien@danjou.info","username":"jdanjou"},"change_message_id":"aa42912b96aa88f96948763083d2833c6b782b2c","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix combination alarms"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The combination are not evaluated correctly."},{"line_number":10,"context_line":"This change fix that."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-bug: #1511252"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"fa80f949_39dec5dd","line":10,"updated":"2015-11-06 10:30:25.000000000","message":"fixes","commit_id":"35546b45f66fcd18441b0a7a1aa4f0f6e1469961"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"640bd37ca017b909cd7f91f93249f319f8b62b85","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix combination alarms"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The combination are not evaluated correctly."},{"line_number":10,"context_line":"This change fix that."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-bug: #1511252"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"ba8a016a_a8b0a18c","line":10,"in_reply_to":"fa80f949_39dec5dd","updated":"2015-11-16 15:06:17.000000000","message":"Done","commit_id":"35546b45f66fcd18441b0a7a1aa4f0f6e1469961"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"7c67df65ae73f623416a12f6a92bd907e014cf68","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix combination alarms"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"The combination are not evaluated correctly."},{"line_number":10,"context_line":"This change fixes that."},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"Closes-bug: #1511252"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"ba8a016a_8a614aab","line":10,"updated":"2015-11-19 17:30:23.000000000","message":"nit, put into the same paragraph","commit_id":"5fa8e4293c53948361da18fc1fee65219e8e50ee"}],"aodh/evaluator/combination.py":[{"author":{"_account_id":1894,"name":"Ryota MIBU","email":"r-mibu@cq.jp.nec.com","username":"r-mibu"},"change_message_id":"d537c4e9701a8b41a51881126c7cb7dc7a5cf6f1","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        except Exception:"},{"line_number":36,"context_line":"            LOG.exception(_(\u0027alarm retrieval failed\u0027))"},{"line_number":37,"context_line":"            return None"},{"line_number":38,"context_line":"        return alarm.state"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def _sufficient_states(self, alarm, states):"},{"line_number":41,"context_line":"        \"\"\"Check for the sufficiency of the data for evaluation."}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_a5e776ab","line":38,"updated":"2015-11-06 23:32:19.000000000","message":"Isn\u0027t it still touching generator?\nHow about changing L34 like this?\n\n   alarms \u003d self._storage_conn.get_alarms(alarm_id\u003dalarm_id)\n   alarm_state \u003d list(alarms)[0].state","commit_id":"35546b45f66fcd18441b0a7a1aa4f0f6e1469961"},{"author":{"_account_id":2813,"name":"Mehdi Abaakouk","email":"sileht@sileht.net","username":"sileht"},"change_message_id":"640bd37ca017b909cd7f91f93249f319f8b62b85","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        except Exception:"},{"line_number":36,"context_line":"            LOG.exception(_(\u0027alarm retrieval failed\u0027))"},{"line_number":37,"context_line":"            return None"},{"line_number":38,"context_line":"        return alarm.state"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def _sufficient_states(self, alarm, states):"},{"line_number":41,"context_line":"        \"\"\"Check for the sufficiency of the data for evaluation."}],"source_content_type":"text/x-python","patch_set":1,"id":"ba8a016a_28183184","line":38,"in_reply_to":"da85f559_3a2a7791","updated":"2015-11-16 15:06:17.000000000","message":"This code is completely wrong, something wrong happen it my local git branch, I have sent the correct change into the next patchset.","commit_id":"35546b45f66fcd18441b0a7a1aa4f0f6e1469961"},{"author":{"_account_id":4491,"name":"Lianhao Lu","email":"llh_misc@outlook.com","username":"lianhao-lu"},"change_message_id":"78dba0f13666d85e44c03163b308c94a2732b10b","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        except Exception:"},{"line_number":36,"context_line":"            LOG.exception(_(\u0027alarm retrieval failed\u0027))"},{"line_number":37,"context_line":"            return None"},{"line_number":38,"context_line":"        return alarm.state"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def _sufficient_states(self, alarm, states):"},{"line_number":41,"context_line":"        \"\"\"Check for the sufficiency of the data for evaluation."}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_51945443","line":38,"in_reply_to":"da85f559_a5e776ab","updated":"2015-11-12 19:30:03.000000000","message":"I\u0027m confused, form the bug description, I think this new code would result the generator exception as described in the bug.\n\n_storage_conn.get_alarm() yields a list of alarms, see https://github.com/openstack/aodh/blob/master/aodh/storage/base.py#L79","commit_id":"35546b45f66fcd18441b0a7a1aa4f0f6e1469961"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"75331a338d7e0b9d7fe72783a28c40d12f090ab7","unresolved":false,"context_lines":[{"line_number":35,"context_line":"        except Exception:"},{"line_number":36,"context_line":"            LOG.exception(_(\u0027alarm retrieval failed\u0027))"},{"line_number":37,"context_line":"            return None"},{"line_number":38,"context_line":"        return alarm.state"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    def _sufficient_states(self, alarm, states):"},{"line_number":41,"context_line":"        \"\"\"Check for the sufficiency of the data for evaluation."}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_3a2a7791","line":38,"in_reply_to":"da85f559_a5e776ab","updated":"2015-11-15 05:48:18.000000000","message":"not perfect, alarm can be deleted during evaluation gap, so list()[0] may cause exception which is actually not worth to log as exception","commit_id":"35546b45f66fcd18441b0a7a1aa4f0f6e1469961"},{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"3344bd2be0c88bb5906e586213e4e0ce36261437","unresolved":false,"context_lines":[{"line_number":36,"context_line":"            LOG.exception(_LE(\u0027alarm %s retrieval failed\u0027), alarm_id)"},{"line_number":37,"context_line":"            return None"},{"line_number":38,"context_line":"        if not alarms:"},{"line_number":39,"context_line":"            LOG.error(_LE(\"alarm %s doesn\u0027t exists anymore\"), alarm_id)"},{"line_number":40,"context_line":"            return None"},{"line_number":41,"context_line":"        return list(alarms)[0].state"},{"line_number":42,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"ba8a016a_f9c5f25a","line":39,"updated":"2015-11-17 08:26:41.000000000","message":"doesn\u0027t exist","commit_id":"5fa8e4293c53948361da18fc1fee65219e8e50ee"}],"aodh/tests/unit/evaluator/test_combination.py":[{"author":{"_account_id":6676,"name":"zqfan","email":"aji.zqfan@gmail.com","username":"aji-zqfan"},"change_message_id":"75331a338d7e0b9d7fe72783a28c40d12f090ab7","unresolved":false,"context_lines":[{"line_number":86,"context_line":""},{"line_number":87,"context_line":"    @staticmethod"},{"line_number":88,"context_line":"    def _get_alarm(state):"},{"line_number":89,"context_line":"        return alarms.Alarm(None, {\u0027state\u0027: state})"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    @staticmethod"},{"line_number":92,"context_line":"    def _reason_data(alarm_ids):"}],"source_content_type":"text/x-python","patch_set":1,"id":"da85f559_ba14274d","line":89,"updated":"2015-11-15 05:48:18.000000000","message":"I think it actually need to be list","commit_id":"35546b45f66fcd18441b0a7a1aa4f0f6e1469961"}]}
