)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"82e01c01855bfe9911d2a1451194700ce6329bee","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rollback the quota_usages table when failed to create a incremental backup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"if we firstly create a incremental backup without parent backup or using not available backup："},{"line_number":10,"context_line":"cinder backup-create 2e3d9d0b-6b33-4cfe-a7c2-656415ee6f61 --incremental"},{"line_number":11,"context_line":"we will receive error info:Invalid backup: No backups available to do an incremental backup. (HTTP 400)"},{"line_number":12,"context_line":"now, the reserved value of quota_usages table has been updated,we need to roll back the quota_usages table,"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"bfb3d3c7_965810fa","line":9,"updated":"2019-05-30 20:51:47.000000000","message":"This need some line breaks and the summary could be shortened.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"8c9e229fd2efb0fa68ed9f3e2743ff48a946a439"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e369b712147a2bd43755ed6bdbb23d7f4cb5324e","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhangbailin \u003czhangbailin@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-07-23 17:46:13 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rollback the quota_usages table when failed to create a incremental backup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"if we firstly create a incremental backup without parent backup or using not available backup："},{"line_number":10,"context_line":"cinder backup-create 2e3d9d0b-6b33-4cfe-a7c2-656415ee6f61 --incremental"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7faddb67_c1496832","line":7,"updated":"2019-08-13 11:44:39.000000000","message":"The commit message could still use some reformatting.\n\nhttps://wiki.openstack.org/wiki/GitCommitMessages#Summary_of_Git_commit_message_structure","commit_id":"686f4d3e2734527b461da7907ae94c215060dbfc"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"39ae5ec499c23f8f0bf2241fddb696e2d2222caa","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhangbailin \u003czhangbailin@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2019-07-23 17:46:13 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rollback the quota_usages table when failed to create a incremental backup"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"if we firstly create a incremental backup without parent backup or using not available backup："},{"line_number":10,"context_line":"cinder backup-create 2e3d9d0b-6b33-4cfe-a7c2-656415ee6f61 --incremental"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"7faddb67_6165141d","line":7,"in_reply_to":"7faddb67_c1496832","updated":"2019-08-13 12:15:53.000000000","message":"Yeah, this format is not suitable, fixed it.","commit_id":"686f4d3e2734527b461da7907ae94c215060dbfc"}],"cinder/backup/api.py":[{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"403a4393c7e874284397cbba3aaa546678b32661","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            parent_id \u003d latest_backup.id"},{"line_number":284,"context_line":"            if latest_backup[\u0027status\u0027] !\u003d fields.BackupStatus.AVAILABLE:"},{"line_number":285,"context_line":"                msg \u003d _(\u0027The parent backup must be available for \u0027"},{"line_number":286,"context_line":"                        \u0027incremental backup.\u0027)"},{"line_number":287,"context_line":"                raise exception.InvalidBackup(reason\u003dmsg)"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        data_timestamp \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"3f79a3b5_27eb3910","line":286,"updated":"2018-12-21 14:13:46.000000000","message":"Does the same issue occur here?","commit_id":"ea744b2b420004b3d878fe2210f570f53668eb1c"},{"author":{"_account_id":27190,"name":"Leopard Ma","email":"mabao@inspur.com","username":"LeopardMa"},"change_message_id":"a8435c713d62626d4db8d84f14526aae4a059bd5","unresolved":false,"context_lines":[{"line_number":283,"context_line":"            parent_id \u003d latest_backup.id"},{"line_number":284,"context_line":"            if latest_backup[\u0027status\u0027] !\u003d fields.BackupStatus.AVAILABLE:"},{"line_number":285,"context_line":"                msg \u003d _(\u0027The parent backup must be available for \u0027"},{"line_number":286,"context_line":"                        \u0027incremental backup.\u0027)"},{"line_number":287,"context_line":"                raise exception.InvalidBackup(reason\u003dmsg)"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"        data_timestamp \u003d None"}],"source_content_type":"text/x-python","patch_set":1,"id":"9fdfeff1_8f94838c","line":286,"in_reply_to":"3f79a3b5_27eb3910","updated":"2019-02-15 02:36:54.000000000","message":"Thank you for your good suggestion\nI have fixed it.","commit_id":"ea744b2b420004b3d878fe2210f570f53668eb1c"}],"cinder/tests/unit/backup/test_backup.py":[{"author":{"_account_id":20813,"name":"Sofia Enriquez","email":"lsofia.enriquez@gmail.com","username":"enriquetaso"},"change_message_id":"5d06bec39df3de52998e2a04d621459fd52352f5","unresolved":false,"context_lines":[{"line_number":2172,"context_line":"    @mock.patch(\u0027cinder.backup.rpcapi.BackupAPI.create_backup\u0027)"},{"line_number":2173,"context_line":"    @mock.patch(\u0027cinder.objects.BackupList.get_all_by_volume\u0027)"},{"line_number":2174,"context_line":"    @mock.patch.object(quota.QUOTAS, \u0027rollback\u0027)"},{"line_number":2175,"context_line":"    #@ddt.data(True)"},{"line_number":2176,"context_line":"    def test_create_backup_failed_with_quota_rollback("},{"line_number":2177,"context_line":"            self, mock_rollback,"},{"line_number":2178,"context_line":"            mock_get_backups, mock_create):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_9298f91b","line":2175,"range":{"start_line":2175,"start_character":4,"end_line":2175,"end_character":20},"updated":"2019-07-22 18:13:13.000000000","message":"I think you can delete this line.","commit_id":"474b18e2edf736ae774ddee33dac6b4649a36fc2"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"eef67819527fedfe2c89549fbffa71abbb0f52e7","unresolved":false,"context_lines":[{"line_number":2172,"context_line":"    @mock.patch(\u0027cinder.backup.rpcapi.BackupAPI.create_backup\u0027)"},{"line_number":2173,"context_line":"    @mock.patch(\u0027cinder.objects.BackupList.get_all_by_volume\u0027)"},{"line_number":2174,"context_line":"    @mock.patch.object(quota.QUOTAS, \u0027rollback\u0027)"},{"line_number":2175,"context_line":"    #@ddt.data(True)"},{"line_number":2176,"context_line":"    def test_create_backup_failed_with_quota_rollback("},{"line_number":2177,"context_line":"            self, mock_rollback,"},{"line_number":2178,"context_line":"            mock_get_backups, mock_create):"}],"source_content_type":"text/x-python","patch_set":4,"id":"7faddb67_a90823d9","line":2175,"range":{"start_line":2175,"start_character":4,"end_line":2175,"end_character":20},"in_reply_to":"7faddb67_9298f91b","updated":"2019-07-23 06:26:22.000000000","message":"Done","commit_id":"474b18e2edf736ae774ddee33dac6b4649a36fc2"},{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2ad6690dc71673e8747b314ef0d9388949de0f60","unresolved":false,"context_lines":[{"line_number":1970,"context_line":"@ddt.ddt"},{"line_number":1971,"context_line":"class BackupAPITestCase(BaseBackupTest):"},{"line_number":1972,"context_line":""},{"line_number":1973,"context_line":"    fake_backup \u003d {"},{"line_number":1974,"context_line":"        \u0027id\u0027: fake.BACKUP_ID,"},{"line_number":1975,"context_line":"        \u0027volume_id\u0027: fake.VOLUME_ID,"},{"line_number":1976,"context_line":"        \u0027status\u0027: fields.BackupStatus.CREATING,"},{"line_number":1977,"context_line":"        \u0027size\u0027: 1,"},{"line_number":1978,"context_line":"        \u0027display_name\u0027: \u0027fake_name\u0027,"},{"line_number":1979,"context_line":"        \u0027display_description\u0027: \u0027fake_description\u0027,"},{"line_number":1980,"context_line":"        \u0027user_id\u0027: fake.USER_ID,"},{"line_number":1981,"context_line":"        \u0027project_id\u0027: fake.PROJECT_ID,"},{"line_number":1982,"context_line":"        \u0027temp_volume_id\u0027: None,"},{"line_number":1983,"context_line":"        \u0027temp_snapshot_id\u0027: None,"},{"line_number":1984,"context_line":"        \u0027snapshot_id\u0027: None,"},{"line_number":1985,"context_line":"        \u0027data_timestamp\u0027: None,"},{"line_number":1986,"context_line":"        \u0027restore_volume_id\u0027: None,"},{"line_number":1987,"context_line":"        \u0027backup_metadata\u0027: {},"},{"line_number":1988,"context_line":"    }"},{"line_number":1989,"context_line":""},{"line_number":1990,"context_line":"    def setUp(self):"},{"line_number":1991,"context_line":"        super(BackupAPITestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_cfcf4e27","line":1988,"range":{"start_line":1973,"start_character":0,"end_line":1988,"end_character":5},"updated":"2019-08-13 15:54:00.000000000","message":"would be better to reuse this[1] somehow\n[1] https://opendev.org/openstack/cinder/src/branch/master/cinder/tests/unit/api/v2/fakes.py#L208-L225","commit_id":"0ec23c81f66e721b60445d1b0db78f1824266a22"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"cd1960bee3f443beaf59189321537af519766796","unresolved":false,"context_lines":[{"line_number":1970,"context_line":"@ddt.ddt"},{"line_number":1971,"context_line":"class BackupAPITestCase(BaseBackupTest):"},{"line_number":1972,"context_line":""},{"line_number":1973,"context_line":"    fake_backup \u003d {"},{"line_number":1974,"context_line":"        \u0027id\u0027: fake.BACKUP_ID,"},{"line_number":1975,"context_line":"        \u0027volume_id\u0027: fake.VOLUME_ID,"},{"line_number":1976,"context_line":"        \u0027status\u0027: fields.BackupStatus.CREATING,"},{"line_number":1977,"context_line":"        \u0027size\u0027: 1,"},{"line_number":1978,"context_line":"        \u0027display_name\u0027: \u0027fake_name\u0027,"},{"line_number":1979,"context_line":"        \u0027display_description\u0027: \u0027fake_description\u0027,"},{"line_number":1980,"context_line":"        \u0027user_id\u0027: fake.USER_ID,"},{"line_number":1981,"context_line":"        \u0027project_id\u0027: fake.PROJECT_ID,"},{"line_number":1982,"context_line":"        \u0027temp_volume_id\u0027: None,"},{"line_number":1983,"context_line":"        \u0027temp_snapshot_id\u0027: None,"},{"line_number":1984,"context_line":"        \u0027snapshot_id\u0027: None,"},{"line_number":1985,"context_line":"        \u0027data_timestamp\u0027: None,"},{"line_number":1986,"context_line":"        \u0027restore_volume_id\u0027: None,"},{"line_number":1987,"context_line":"        \u0027backup_metadata\u0027: {},"},{"line_number":1988,"context_line":"    }"},{"line_number":1989,"context_line":""},{"line_number":1990,"context_line":"    def setUp(self):"},{"line_number":1991,"context_line":"        super(BackupAPITestCase, self).setUp()"}],"source_content_type":"text/x-python","patch_set":8,"id":"7faddb67_e9cd5fb7","line":1988,"range":{"start_line":1973,"start_character":0,"end_line":1988,"end_character":5},"in_reply_to":"7faddb67_cfcf4e27","updated":"2019-08-14 01:11:18.000000000","message":"Done","commit_id":"0ec23c81f66e721b60445d1b0db78f1824266a22"}],"releasenotes/notes/bug-1809323-fix-invalid-backup-4a341dc362ded88e.yaml":[{"author":{"_account_id":27615,"name":"Rajat Dhasmana","email":"rajatdhasmana@gmail.com","username":"whoami-rajat"},"change_message_id":"2ad6690dc71673e8747b314ef0d9388949de0f60","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Now cinder will be rollback the ``quota_usages`` table when failed"},{"line_number":5,"context_line":"    to create an incremental backup, it is not has a parent backup or"},{"line_number":6,"context_line":"    using unavailable backup file."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_cff18e03","line":6,"range":{"start_line":5,"start_character":35,"end_line":6,"end_character":34},"updated":"2019-08-13 15:54:00.000000000","message":"if there doesn\u0027t exist a parent backup or the backup is not in available state","commit_id":"0ec23c81f66e721b60445d1b0db78f1824266a22"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"cd1960bee3f443beaf59189321537af519766796","unresolved":false,"context_lines":[{"line_number":2,"context_line":"fixes:"},{"line_number":3,"context_line":"  - |"},{"line_number":4,"context_line":"    Now cinder will be rollback the ``quota_usages`` table when failed"},{"line_number":5,"context_line":"    to create an incremental backup, it is not has a parent backup or"},{"line_number":6,"context_line":"    using unavailable backup file."}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_66719c44","line":6,"range":{"start_line":5,"start_character":35,"end_line":6,"end_character":34},"in_reply_to":"7faddb67_cff18e03","updated":"2019-08-14 01:11:18.000000000","message":"Done","commit_id":"0ec23c81f66e721b60445d1b0db78f1824266a22"}]}
