)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"95c4a53fb3fb82ab50a865479a47821318a65816","unresolved":false,"context_lines":[{"line_number":9,"context_line":"Below piece of code is not correctly handling the scope of variable"},{"line_number":10,"context_line":"\u0027backup\u0027"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    https://github.com/openstack/cinder/blob/9299e7aebea42095fe1fa09b89d7297b5a53826e/cinder/backup/api.py#L274-L300"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"The first problem is as below"},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a5ae5dd_4b4195a8","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":116},"updated":"2016-02-04 15:20:19.000000000","message":"Not sure sure that you need this link since we can look at the code in the rest of the patch and since you abstracted the gist of what you are working on below.","commit_id":"41425c67b422d613883d337a8428752ee75f982e"},{"author":{"_account_id":16708,"name":"Kendall Nelson","display_name":"Kendall (diablo_rojo)","email":"kennelson11@gmail.com","username":"kjnelson"},"change_message_id":"95c4a53fb3fb82ab50a865479a47821318a65816","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The second problem is as below"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"```"},{"line_number":38,"context_line":"    try:"},{"line_number":39,"context_line":"        ..."},{"line_number":40,"context_line":"        backup.create()"},{"line_number":41,"context_line":"        ..."},{"line_number":42,"context_line":"    except Exception:"},{"line_number":43,"context_line":"            ..."},{"line_number":44,"context_line":"            backup.destroy()"},{"line_number":45,"context_line":"            ..."},{"line_number":46,"context_line":"```"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The backup.create() invokes DB. If an DB exception is raised,"},{"line_number":49,"context_line":"backup.id won\u0027t be assigned. Any access to backup.id will result in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a5ae5dd_2be45939","line":46,"range":{"start_line":37,"start_character":0,"end_line":46,"end_character":3},"updated":"2016-02-04 15:20:19.000000000","message":"I\u0027m not sure you need this code snippet in here twice; I think it might be best to just keep one snippet and take out the url and this second snippet since we can clearly see where you are working in the rest of the patch. Thanks!","commit_id":"41425c67b422d613883d337a8428752ee75f982e"},{"author":{"_account_id":13900,"name":"Accela Zhao","email":"accelazh@gmail.com","username":"accelazh"},"change_message_id":"989a95659122853561bfb28fbe527087ffb385e5","unresolved":false,"context_lines":[{"line_number":34,"context_line":""},{"line_number":35,"context_line":"The second problem is as below"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"```"},{"line_number":38,"context_line":"    try:"},{"line_number":39,"context_line":"        ..."},{"line_number":40,"context_line":"        backup.create()"},{"line_number":41,"context_line":"        ..."},{"line_number":42,"context_line":"    except Exception:"},{"line_number":43,"context_line":"            ..."},{"line_number":44,"context_line":"            backup.destroy()"},{"line_number":45,"context_line":"            ..."},{"line_number":46,"context_line":"```"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"The backup.create() invokes DB. If an DB exception is raised,"},{"line_number":49,"context_line":"backup.id won\u0027t be assigned. Any access to backup.id will result in"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a5ae5dd_a672c0ab","line":46,"range":{"start_line":37,"start_character":0,"end_line":46,"end_character":3},"in_reply_to":"5a5ae5dd_2be45939","updated":"2016-02-04 15:27:21.000000000","message":"Sorry, I copied bug description. I will fix that in the next commit.","commit_id":"41425c67b422d613883d337a8428752ee75f982e"},{"author":{"_account_id":4523,"name":"Eric Harney","email":"eharney@redhat.com","username":"eharney"},"change_message_id":"309fff01a535dbf59c0bbd9603d7e2f501b9da30","unresolved":false,"context_lines":[{"line_number":50,"context_line":"an \"NotImplementedError: Cannot load \u0027id\u0027 in the base class\"."},{"line_number":51,"context_line":"However, when cleaning up, the backup.destroy() does access"},{"line_number":52,"context_line":"backup.id. So we have the same problem as the above one, and the true"},{"line_number":53,"context_line":"exception is overrode by NotImplementedError."},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"The root problem is that this piece of code is not handling scope of"},{"line_number":56,"context_line":"variable \u0027backup\u0027 properly. Variable used in except clause generally"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":1,"id":"5a5ae5dd_26eed0ec","line":53,"updated":"2016-02-04 15:33:18.000000000","message":"This sounds like a separate bug in the object destroy path.","commit_id":"41425c67b422d613883d337a8428752ee75f982e"}]}
