)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":14101,"name":"yapeng Yang","email":"a394954369@gmail.com","username":"yapeng"},"change_message_id":"8483b837367d13ec2a27ca88acb8cef0ceb2cce1","unresolved":false,"context_lines":[{"line_number":7,"context_line":"Fix bug with snapshot removal"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: Ib869e0b721976b75e6d96da6003580bf9efbdc25"},{"line_number":10,"context_line":"Fix-Bug: 1482603"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":2,"id":"3aaa91ec_5f16494c","line":10,"updated":"2016-06-27 09:14:18.000000000","message":"Closes-Bug: #1482603","commit_id":"fa8d514614236ca45290723549307ad8f049d2b5"}],"freezer/snapshot/lvm.py":[{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"cd2fdd4e75784f3a84030be63c4929bdfba19b3a","unresolved":false,"context_lines":[{"line_number":323,"context_line":"            executable\u003dutils.find_executable(\u0027bash\u0027))"},{"line_number":324,"context_line":"        output, error \u003d lvremove_proc.communicate()"},{"line_number":325,"context_line":"        if lvremove_proc.returncode:"},{"line_number":326,"context_line":"            if \"contains a filesystem in use\" in error or attempt:"},{"line_number":327,"context_line":"                logging.warning(\"Couldn\u0027t remove volume {0}. \""},{"line_number":328,"context_line":"                                \"It is still in use.\".format(lv))"},{"line_number":329,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_b33af796","line":326,"range":{"start_line":326,"start_character":65,"end_line":326,"end_character":66},"updated":"2016-06-27 14:23:38.000000000","message":"Why is this code executed on attempts other than the first even if the specific string is not in the error?","commit_id":"92d63d92185aaaa99378592aa41fef6ee5dd885d"},{"author":{"_account_id":14509,"name":"Pierre Mathieu","email":"pierre-arthur.mathieu@hpe.com","username":"slashme"},"change_message_id":"14321ca446737b614f4fa4242b282d14d7dbc1a1","unresolved":false,"context_lines":[{"line_number":323,"context_line":"            executable\u003dutils.find_executable(\u0027bash\u0027))"},{"line_number":324,"context_line":"        output, error \u003d lvremove_proc.communicate()"},{"line_number":325,"context_line":"        if lvremove_proc.returncode:"},{"line_number":326,"context_line":"            if \"contains a filesystem in use\" in error or attempt:"},{"line_number":327,"context_line":"                logging.warning(\"Couldn\u0027t remove volume {0}. \""},{"line_number":328,"context_line":"                                \"It is still in use.\".format(lv))"},{"line_number":329,"context_line":"                try:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_cd15579c","line":326,"range":{"start_line":326,"start_character":65,"end_line":326,"end_character":66},"in_reply_to":"3aaa91ec_b33af796","updated":"2016-06-27 17:22:12.000000000","message":"This is not needed anymore","commit_id":"92d63d92185aaaa99378592aa41fef6ee5dd885d"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"cd2fdd4e75784f3a84030be63c4929bdfba19b3a","unresolved":false,"context_lines":[{"line_number":337,"context_line":"                        utils.find_executable(\u0027lsof\u0027), dev_id[0], dev_id[1])"},{"line_number":338,"context_line":"                    process \u003d subprocess.check_output([command], shell\u003dTrue)"},{"line_number":339,"context_line":"                    logging.warning(\"Process holding the volume\""},{"line_number":340,"context_line":"                                    \" is \u0027{}\u0027\".format(process))"},{"line_number":341,"context_line":"                except Exception:"},{"line_number":342,"context_line":"                    pass"},{"line_number":343,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_93c37b38","line":340,"updated":"2016-06-27 14:23:38.000000000","message":"Could the contents of the try block be broken out into a separate function for clarity?","commit_id":"92d63d92185aaaa99378592aa41fef6ee5dd885d"},{"author":{"_account_id":14509,"name":"Pierre Mathieu","email":"pierre-arthur.mathieu@hpe.com","username":"slashme"},"change_message_id":"14321ca446737b614f4fa4242b282d14d7dbc1a1","unresolved":false,"context_lines":[{"line_number":337,"context_line":"                        utils.find_executable(\u0027lsof\u0027), dev_id[0], dev_id[1])"},{"line_number":338,"context_line":"                    process \u003d subprocess.check_output([command], shell\u003dTrue)"},{"line_number":339,"context_line":"                    logging.warning(\"Process holding the volume\""},{"line_number":340,"context_line":"                                    \" is \u0027{}\u0027\".format(process))"},{"line_number":341,"context_line":"                except Exception:"},{"line_number":342,"context_line":"                    pass"},{"line_number":343,"context_line":"            else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_2d0b3b7f","line":340,"in_reply_to":"3aaa91ec_93c37b38","updated":"2016-06-27 17:22:12.000000000","message":"Done","commit_id":"92d63d92185aaaa99378592aa41fef6ee5dd885d"},{"author":{"_account_id":12512,"name":"Deklan Dieterly","email":"deklan.dieterly@hpe.com","username":"deklan"},"change_message_id":"cd2fdd4e75784f3a84030be63c4929bdfba19b3a","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                    logging.warning(\"Process holding the volume\""},{"line_number":340,"context_line":"                                    \" is \u0027{}\u0027\".format(process))"},{"line_number":341,"context_line":"                except Exception:"},{"line_number":342,"context_line":"                    pass"},{"line_number":343,"context_line":"            else:"},{"line_number":344,"context_line":"                break"},{"line_number":345,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_167bf97c","line":342,"updated":"2016-06-27 14:23:38.000000000","message":"Something should be logged here so that there is visibility into why this command failed. Developers will want to fix the problem if it exists with the code.","commit_id":"92d63d92185aaaa99378592aa41fef6ee5dd885d"},{"author":{"_account_id":14509,"name":"Pierre Mathieu","email":"pierre-arthur.mathieu@hpe.com","username":"slashme"},"change_message_id":"14321ca446737b614f4fa4242b282d14d7dbc1a1","unresolved":false,"context_lines":[{"line_number":339,"context_line":"                    logging.warning(\"Process holding the volume\""},{"line_number":340,"context_line":"                                    \" is \u0027{}\u0027\".format(process))"},{"line_number":341,"context_line":"                except Exception:"},{"line_number":342,"context_line":"                    pass"},{"line_number":343,"context_line":"            else:"},{"line_number":344,"context_line":"                break"},{"line_number":345,"context_line":"        else:"}],"source_content_type":"text/x-python","patch_set":3,"id":"3aaa91ec_6d53836d","line":342,"in_reply_to":"3aaa91ec_167bf97c","updated":"2016-06-27 17:22:12.000000000","message":"Done","commit_id":"92d63d92185aaaa99378592aa41fef6ee5dd885d"}]}
