)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"7549c1f50020aa432767ac341ca7a94fc3435e20","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     suzhengwei \u003csugar-2008@163.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-26 10:11:29 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"duplicate notifications"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Duplicate notification is no matter with its status."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I56c5f72ebb3cefe2d36b3688c46e0b27d9b6ba7a"},{"line_number":12,"context_line":"Close-Bug: #1858548"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df33271e_063f3887","line":9,"range":{"start_line":7,"start_character":0,"end_line":9,"end_character":52},"updated":"2020-03-30 02:13:18.000000000","message":"Handle duplicate notifications without checking notification status\n\nIf a notification is received and processed before getting a duplicate notification within the time interval defined in config option `duplicate_notification_detection_interval`, it will be processed again. In this case, it should be ignored.\n\nTo handle this case,  removed checking notification status from get_all api.","commit_id":"b815b190fc7e1c65dacc3f44056def1bdc074425"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"7eb469a97af6f87f254204490fab301a407ea132","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     suzhengwei \u003csugar-2008@163.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2020-03-26 10:11:29 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"duplicate notifications"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Duplicate notification is no matter with its status."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: I56c5f72ebb3cefe2d36b3688c46e0b27d9b6ba7a"},{"line_number":12,"context_line":"Close-Bug: #1858548"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"df33271e_33d9dbf2","line":9,"range":{"start_line":7,"start_character":0,"end_line":9,"end_character":52},"in_reply_to":"df33271e_063f3887","updated":"2020-03-30 09:18:17.000000000","message":"Done","commit_id":"b815b190fc7e1c65dacc3f44056def1bdc074425"}],"masakari/ha/api.py":[{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2123a6d76496fefa85a83491200da147cf5a545a","unresolved":false,"context_lines":[{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        filters \u003d {"},{"line_number":280,"context_line":"            \u0027type\u0027: notification.type,"},{"line_number":281,"context_line":"            \u0027status\u0027: [fields.NotificationStatus.NEW,"},{"line_number":282,"context_line":"                       fields.NotificationStatus.RUNNING],"},{"line_number":283,"context_line":"            \u0027source_host_uuid\u0027: notification.source_host_uuid,"},{"line_number":284,"context_line":"            \u0027generated-since\u0027: (notification.generated_time -"}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_5c9c1abe","side":"PARENT","line":281,"range":{"start_line":281,"start_character":13,"end_line":281,"end_character":19},"updated":"2020-01-08 06:46:35.000000000","message":"If the notification has been processed, it\u0027s status will be change to FINISH status. In generated time, if there are duplicate notifications, maybe one notification in \u0027NEW\u0027 or \u0027RUNNING\u0027 status, one is \u0027FINISH\u0027 status, So the \u0027status\u0027 field doesn\u0027t work.","commit_id":"596b3d142eeea935fb2293de5631cd9dd4c191c6"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2123a6d76496fefa85a83491200da147cf5a545a","unresolved":false,"context_lines":[{"line_number":320,"context_line":"        notification.generated_time \u003d notification_data.get(\u0027generated_time\u0027)"},{"line_number":321,"context_line":"        notification.source_host_uuid \u003d host_object.uuid"},{"line_number":322,"context_line":"        notification.payload \u003d notification_data.get(\u0027payload\u0027)"},{"line_number":323,"context_line":"        notification.status \u003d fields.NotificationStatus.NEW"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"        if self._is_duplicate_notification(context, notification):"},{"line_number":326,"context_line":"            message \u003d (_(\"Notification received from host %(host)s of \""}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_dc900a99","side":"PARENT","line":323,"range":{"start_line":323,"start_character":8,"end_line":323,"end_character":59},"updated":"2020-01-08 06:46:35.000000000","message":"You can move this to line330, after determining duplicate notification.","commit_id":"596b3d142eeea935fb2293de5631cd9dd4c191c6"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"2123a6d76496fefa85a83491200da147cf5a545a","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        # Get all the notifications by filters"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        filters \u003d {"},{"line_number":280,"context_line":"            \u0027type\u0027: notification.type,"},{"line_number":281,"context_line":"            \u0027source_host_uuid\u0027: notification.source_host_uuid,"},{"line_number":282,"context_line":"            \u0027generated-since\u0027: (notification.generated_time -"},{"line_number":283,"context_line":"                datetime.timedelta("}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_bcdaee75","line":280,"updated":"2020-01-08 06:46:35.000000000","message":"There are some unit tests need to be changed, such as.\n\n[1]https://github.com/openstack/masakari/blob/master/masakari/tests/unit/ha/test_api.py#L775\n[2]https://github.com/openstack/masakari/blob/master/masakari/tests/unit/ha/test_api.py#L853","commit_id":"06fa14d022cf110505c27cb25b84db632b3c1ec5"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"03ca370417b60384ea98ca5c4a13a3cb0336f7d5","unresolved":false,"context_lines":[{"line_number":277,"context_line":"        # Get all the notifications by filters"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"        filters \u003d {"},{"line_number":280,"context_line":"            \u0027type\u0027: notification.type,"},{"line_number":281,"context_line":"            \u0027source_host_uuid\u0027: notification.source_host_uuid,"},{"line_number":282,"context_line":"            \u0027generated-since\u0027: (notification.generated_time -"},{"line_number":283,"context_line":"                datetime.timedelta("}],"source_content_type":"text/x-python","patch_set":1,"id":"3fa7e38b_05f03edb","line":280,"in_reply_to":"3fa7e38b_bcdaee75","updated":"2020-02-18 10:11:29.000000000","message":"This is a simple patch. I don\u0027t think unit test is necessary.","commit_id":"06fa14d022cf110505c27cb25b84db632b3c1ec5"}],"masakari/tests/unit/ha/test_api.py":[{"author":{"_account_id":1011,"name":"Tushar Patil","email":"tushar.vitthal.patil@gmail.com","username":"tpatil"},"change_message_id":"7549c1f50020aa432767ac341ca7a94fc3435e20","unresolved":false,"context_lines":[{"line_number":857,"context_line":"            self.context, self.notification))"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"    @mock.patch.object(notification_obj.NotificationList, \u0027get_all\u0027)"},{"line_number":860,"context_line":"    def test_create_is_duplicate_true_no_matter_with_status("},{"line_number":861,"context_line":"            self, mock_get_all):"},{"line_number":862,"context_line":"        FAKE_NOTIFICATION_FINISHED \u003d copy.deepcopy(self.notification)"},{"line_number":863,"context_line":"        FAKE_NOTIFICATION_FINISHED.status \u003d fields.NotificationStatus.FINISHED"}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_e7a6c853","line":860,"range":{"start_line":860,"start_character":8,"end_line":860,"end_character":59},"updated":"2020-03-30 02:13:18.000000000","message":"nit: suggest to rename it to test_is_duplicate_true_for_any_notification_status()","commit_id":"b815b190fc7e1c65dacc3f44056def1bdc074425"},{"author":{"_account_id":24501,"name":"sue","display_name":"suzhengwei","email":"sugar-2008@163.com","username":"suzhengwei"},"change_message_id":"7eb469a97af6f87f254204490fab301a407ea132","unresolved":false,"context_lines":[{"line_number":857,"context_line":"            self.context, self.notification))"},{"line_number":858,"context_line":""},{"line_number":859,"context_line":"    @mock.patch.object(notification_obj.NotificationList, \u0027get_all\u0027)"},{"line_number":860,"context_line":"    def test_create_is_duplicate_true_no_matter_with_status("},{"line_number":861,"context_line":"            self, mock_get_all):"},{"line_number":862,"context_line":"        FAKE_NOTIFICATION_FINISHED \u003d copy.deepcopy(self.notification)"},{"line_number":863,"context_line":"        FAKE_NOTIFICATION_FINISHED.status \u003d fields.NotificationStatus.FINISHED"}],"source_content_type":"text/x-python","patch_set":2,"id":"df33271e_73dfe3d5","line":860,"range":{"start_line":860,"start_character":8,"end_line":860,"end_character":59},"in_reply_to":"df33271e_e7a6c853","updated":"2020-03-30 09:18:17.000000000","message":"Done","commit_id":"b815b190fc7e1c65dacc3f44056def1bdc074425"}]}
