)]}'
{"cinder/volume/api.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"117a6b42b7941c26d087ce409f62488cafd664f7","unresolved":false,"context_lines":[{"line_number":618,"context_line":"            filters[\u0027no_migration_targets\u0027] \u003d True"},{"line_number":619,"context_line":""},{"line_number":620,"context_line":"        if filters:"},{"line_number":621,"context_line":"            LOG.debug(\"Searching by: %s.\", str(filters))"},{"line_number":622,"context_line":""},{"line_number":623,"context_line":"        if context.is_admin and allTenants:"},{"line_number":624,"context_line":"            # Need to remove all_tenants to pass the filtering below."}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_539a1bc5","line":621,"range":{"start_line":621,"start_character":43,"end_line":621,"end_character":46},"updated":"2020-10-13 21:24:40.000000000","message":"I would prefer if the string coercion throughout this file was just removed since this is being formatted into a string anyway.","commit_id":"2aa76036b86419f4e20b373a33f63623c03a826f"}],"cinder/volume/driver.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"117a6b42b7941c26d087ce409f62488cafd664f7","unresolved":false,"context_lines":[{"line_number":1044,"context_line":"            except Exception as err:"},{"line_number":1045,"context_line":"                try:"},{"line_number":1046,"context_line":"                    err_msg \u003d (_(\u0027Unable to fetch connection information from \u0027"},{"line_number":1047,"context_line":"                                 \u0027backend: %(err)s\u0027) %"},{"line_number":1048,"context_line":"                               {\u0027err\u0027: str(err)})"},{"line_number":1049,"context_line":"                    LOG.error(err_msg)"},{"line_number":1050,"context_line":"                    LOG.debug(\"Cleaning up failed connect initialization.\")"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_93a4b30a","line":1047,"range":{"start_line":1047,"start_character":43,"end_line":1047,"end_character":50},"updated":"2020-10-13 21:24:40.000000000","message":"Same here. These are being formatted with %s, so forcing str() on the value is really redundant.","commit_id":"2aa76036b86419f4e20b373a33f63623c03a826f"}],"cinder/volume/group_types.py":[{"author":{"_account_id":5314,"name":"Brian Rosmaita","email":"rosmaita.fossdev@gmail.com","username":"brian-rosmaita"},"change_message_id":"d584b5418085ffb9815dc34cb4313371312624c9","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        try:"},{"line_number":80,"context_line":"            db.group_type_destroy(elevated, id)"},{"line_number":81,"context_line":"        except exception.GroupTypeInUse as e:"},{"line_number":82,"context_line":"            msg \u003d _(\u0027Target group type is still in use. %s\u0027) % str(e)"},{"line_number":83,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_8f2b3731","line":82,"range":{"start_line":82,"start_character":63,"end_line":82,"end_character":69},"updated":"2020-10-10 02:05:45.000000000","message":"I think you don\u0027t need this because you\u0027re requesting a string conversion in the format string.","commit_id":"cef7f8774cda98f9a19095df9888d845ec46866f"},{"author":{"_account_id":30092,"name":"Xuan Yandong","email":"xuanyd@outlook.com","username":"xuanyandong"},"change_message_id":"dc50250ff2306d2d6620e5bd73dce236b54a2408","unresolved":false,"context_lines":[{"line_number":79,"context_line":"        try:"},{"line_number":80,"context_line":"            db.group_type_destroy(elevated, id)"},{"line_number":81,"context_line":"        except exception.GroupTypeInUse as e:"},{"line_number":82,"context_line":"            msg \u003d _(\u0027Target group type is still in use. %s\u0027) % str(e)"},{"line_number":83,"context_line":"            raise webob.exc.HTTPBadRequest(explanation\u003dmsg)"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":""}],"source_content_type":"text/x-python","patch_set":1,"id":"9f560f44_be98ea19","line":82,"range":{"start_line":82,"start_character":63,"end_line":82,"end_character":69},"in_reply_to":"9f560f44_8f2b3731","updated":"2020-10-14 00:54:46.000000000","message":"OK，thanks very much","commit_id":"cef7f8774cda98f9a19095df9888d845ec46866f"}],"cinder/volume/manager.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"117a6b42b7941c26d087ce409f62488cafd664f7","unresolved":false,"context_lines":[{"line_number":1067,"context_line":"                self._notify_about_snapshot_usage(context, snapshot,"},{"line_number":1068,"context_line":"                                                  \"revert.end\")"},{"line_number":1069,"context_line":"                msg \u003d (\u0027Volume %(v_id)s revert to \u0027"},{"line_number":1070,"context_line":"                       \u0027snapshot %(s_id)s failed with %(error)s.\u0027)"},{"line_number":1071,"context_line":"                msg_args \u003d {\u0027v_id\u0027: volume.id,"},{"line_number":1072,"context_line":"                            \u0027s_id\u0027: snapshot.id,"},{"line_number":1073,"context_line":"                            \u0027error\u0027: str(error)}"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_73a917de","line":1070,"range":{"start_line":1070,"start_character":54,"end_line":1070,"end_character":64},"updated":"2020-10-13 21:24:40.000000000","message":"Here too.","commit_id":"2aa76036b86419f4e20b373a33f63623c03a826f"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"117a6b42b7941c26d087ce409f62488cafd664f7","unresolved":false,"context_lines":[{"line_number":1183,"context_line":"                    exception\u003dex,"},{"line_number":1184,"context_line":"                    detail\u003dmessage_field.Detail.SNAPSHOT_UPDATE_METADATA_FAILED"},{"line_number":1185,"context_line":"                )"},{"line_number":1186,"context_line":"                raise exception.MetadataCopyFailure(reason\u003dstr(ex))"},{"line_number":1187,"context_line":""},{"line_number":1188,"context_line":"        snapshot.status \u003d fields.SnapshotStatus.AVAILABLE"},{"line_number":1189,"context_line":"        snapshot.progress \u003d \u0027100%\u0027"}],"source_content_type":"text/x-python","patch_set":2,"id":"7f6b1bfe_d3ad8beb","line":1186,"range":{"start_line":1186,"start_character":59,"end_line":1186,"end_character":62},"updated":"2020-10-13 21:24:40.000000000","message":"These are good though.","commit_id":"2aa76036b86419f4e20b373a33f63623c03a826f"}]}
