)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e71a3aac78b67b8103b0d8790a7cc010278b0cdd","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhangbailin \u003czhangbailin@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-10-31 04:10:49 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Increase the length of resource properity in quota_usages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When updating the volume type, the length of the name is checked to be"},{"line_number":10,"context_line":"0-255. If the user input length is 255 characters"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3f79a3b5_413933ce","line":7,"range":{"start_line":7,"start_character":32,"end_line":7,"end_character":41},"updated":"2018-10-31 13:07:49.000000000","message":"property","commit_id":"a033a8defd23a517e73d34b19c5888befaf9e246"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bd282710df2c365eb29cdef23533b67dfc496c1f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zhangbailin \u003czhangbailin@inspur.com\u003e"},{"line_number":5,"context_line":"CommitDate: 2018-10-31 04:10:49 -0400"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Increase the length of resource properity in quota_usages"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"When updating the volume type, the length of the name is checked to be"},{"line_number":10,"context_line":"0-255. If the user input length is 255 characters"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3f79a3b5_b596333d","line":7,"range":{"start_line":7,"start_character":32,"end_line":7,"end_character":41},"in_reply_to":"3f79a3b5_413933ce","updated":"2018-11-01 00:11:13.000000000","message":"Done","commit_id":"a033a8defd23a517e73d34b19c5888befaf9e246"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e71a3aac78b67b8103b0d8790a7cc010278b0cdd","unresolved":false,"context_lines":[{"line_number":9,"context_line":"When updating the volume type, the length of the name is checked to be"},{"line_number":10,"context_line":"0-255. If the user input length is 255 characters"},{"line_number":11,"context_line":"(e.g. volume_type_name\u003d\u0027X*255\u0027), when synchronizing the quota resource,"},{"line_number":12,"context_line":"the resource name needs to be updated to the form of \u0027respurce +"},{"line_number":13,"context_line":"volume_type_name\u0027 in quota_usages [1], because the resource attribute in"},{"line_number":14,"context_line":"the DB is set to \u0027String(255)\u0027, the length limit is exceeded."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3f79a3b5_6136afe2","line":12,"range":{"start_line":12,"start_character":54,"end_line":12,"end_character":62},"updated":"2018-10-31 13:07:49.000000000","message":"resource","commit_id":"a033a8defd23a517e73d34b19c5888befaf9e246"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bd282710df2c365eb29cdef23533b67dfc496c1f","unresolved":false,"context_lines":[{"line_number":9,"context_line":"When updating the volume type, the length of the name is checked to be"},{"line_number":10,"context_line":"0-255. If the user input length is 255 characters"},{"line_number":11,"context_line":"(e.g. volume_type_name\u003d\u0027X*255\u0027), when synchronizing the quota resource,"},{"line_number":12,"context_line":"the resource name needs to be updated to the form of \u0027respurce +"},{"line_number":13,"context_line":"volume_type_name\u0027 in quota_usages [1], because the resource attribute in"},{"line_number":14,"context_line":"the DB is set to \u0027String(255)\u0027, the length limit is exceeded."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"3f79a3b5_559b1f64","line":12,"range":{"start_line":12,"start_character":54,"end_line":12,"end_character":62},"in_reply_to":"3f79a3b5_6136afe2","updated":"2018-11-01 00:11:13.000000000","message":"Done","commit_id":"a033a8defd23a517e73d34b19c5888befaf9e246"},{"author":{"_account_id":15054,"name":"wangxiyuan","email":"wangxiyuan1007@gmail.com","username":"wangxiyuan"},"change_message_id":"172ea197197c2f60cb87b2eee81c1c3391bdbf40","unresolved":false,"context_lines":[{"line_number":18,"context_line":""},{"line_number":19,"context_line":"[1]https://github.com/openstack/cinder/blob/master/cinder/db/sqlalchemy/api.py#L352"},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"Closes-Bug: #1798327"},{"line_number":22,"context_line":"Change-Id: I6c30a6be750f6b9ecff7399dbb0aea66cdc097da"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":7,"id":"3f79a3b5_f3ca83a1","line":21,"updated":"2018-11-01 03:02:39.000000000","message":"This problem was noticed 2 years ago[1]. Please close this bug as well.\n\nThere is another way to fix the bug[2]. i.e. store volume_type id into database instead of volume_type name.\n\n[1]: https://bugs.launchpad.net/cinder/+bug/1608849\n[2]: https://review.openstack.org/#/c/390166\n\nTBH, I\u0027m not a fun for db schema change. While just some info for Cinder reviewers.","commit_id":"19da8e8caf11c8ae12c7ac926759ac997ed6e269"}],"cinder/db/sqlalchemy/migrate_repo/versions/127_change_project_resource_attribute_for_quota_usages.py":[{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"505d38f7a74b7152bbc968f259a10d2f2e85a9d7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    quota_usages \u003d Table(\u0027quota_usages\u0027, meta, autoload\u003dTrue)"},{"line_number":20,"context_line":"    quota_usages.c.resource.alter(type\u003dString(300))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_b8bc18d5","line":20,"range":{"start_line":20,"start_character":28,"end_line":20,"end_character":33},"updated":"2018-10-30 08:44:23.000000000","message":"CI failed is legit, we should add a exception for this alter in [1], and we also need add a regression test like[2].\n\n[1] https://github.com/openstack/cinder/blob/master/cinder/tests/unit/db/test_migrations.py#L109\n[2] https://github.com/openstack/cinder/blob/master/cinder/tests/unit/db/test_migrations.py#L408","commit_id":"add67e57ca52ce3821d564e7e1fdcf1e026ef94e"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"505d38f7a74b7152bbc968f259a10d2f2e85a9d7","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    quota_usages \u003d Table(\u0027quota_usages\u0027, meta, autoload\u003dTrue)"},{"line_number":20,"context_line":"    quota_usages.c.resource.alter(type\u003dString(300))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_98d27cfd","line":20,"range":{"start_line":20,"start_character":46,"end_line":20,"end_character":49},"updated":"2018-10-30 08:44:23.000000000","message":"It would be good if we can add some note on this number, \nwhich include the info as below:\n1. resource value is constructed from  prefix + type_name.\n2. 255 is the len limit of type_name\n3. If we add the volumes_ or gigabytes_ prefix will over the db len limit.\n\nOtherwise, it looks like a magic number, and makes us confusing.","commit_id":"add67e57ca52ce3821d564e7e1fdcf1e026ef94e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"83e9792e10edb95f92fa27159cbb64f63b33a9cf","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    quota_usages \u003d Table(\u0027quota_usages\u0027, meta, autoload\u003dTrue)"},{"line_number":20,"context_line":"    quota_usages.c.resource.alter(type\u003dString(300))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_807bcc78","line":20,"range":{"start_line":20,"start_character":46,"end_line":20,"end_character":49},"in_reply_to":"3f79a3b5_98d27cfd","updated":"2018-10-31 07:48:42.000000000","message":"It looks good to me.","commit_id":"add67e57ca52ce3821d564e7e1fdcf1e026ef94e"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"83e9792e10edb95f92fa27159cbb64f63b33a9cf","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    quota_usages \u003d Table(\u0027quota_usages\u0027, meta, autoload\u003dTrue)"},{"line_number":20,"context_line":"    quota_usages.c.resource.alter(type\u003dString(300))"}],"source_content_type":"text/x-python","patch_set":4,"id":"3f79a3b5_2090b897","line":20,"range":{"start_line":20,"start_character":28,"end_line":20,"end_character":33},"in_reply_to":"3f79a3b5_b8bc18d5","updated":"2018-10-31 07:48:42.000000000","message":"Done","commit_id":"add67e57ca52ce3821d564e7e1fdcf1e026ef94e"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"7ad4df5acf71c2d30927f148636f77191ebf4512","unresolved":false,"context_lines":[{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":"    \"\"\"Increase the resource column size to the quota_usages table."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    The resource value is constructed from  (prefix + volume_type_name),"},{"line_number":20,"context_line":"    but the length of volume_type_name is limited to 255, If we add a"},{"line_number":21,"context_line":"    prefix such as \u0027volumes_\u0027 or \u0027gigabytes_\u0027 to volume_type_name it"},{"line_number":22,"context_line":"    will exceed the db length limit."}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_98eb2e10","line":19,"range":{"start_line":19,"start_character":42,"end_line":19,"end_character":43},"updated":"2018-11-01 01:21:41.000000000","message":"nit: redundant space","commit_id":"7a3e968c9d55f91e101de4d87befbadfddc573db"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e5c41a900d2c4518911a4ab9efd05835bd5a5401","unresolved":false,"context_lines":[{"line_number":16,"context_line":"def upgrade(migrate_engine):"},{"line_number":17,"context_line":"    \"\"\"Increase the resource column size to the quota_usages table."},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"    The resource value is constructed from  (prefix + volume_type_name),"},{"line_number":20,"context_line":"    but the length of volume_type_name is limited to 255, If we add a"},{"line_number":21,"context_line":"    prefix such as \u0027volumes_\u0027 or \u0027gigabytes_\u0027 to volume_type_name it"},{"line_number":22,"context_line":"    will exceed the db length limit."}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_d80c4698","line":19,"range":{"start_line":19,"start_character":42,"end_line":19,"end_character":43},"in_reply_to":"3f79a3b5_98eb2e10","updated":"2018-11-01 02:07:01.000000000","message":"Done","commit_id":"7a3e968c9d55f91e101de4d87befbadfddc573db"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"7ad4df5acf71c2d30927f148636f77191ebf4512","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    The resource value is constructed from  (prefix + volume_type_name),"},{"line_number":20,"context_line":"    but the length of volume_type_name is limited to 255, If we add a"},{"line_number":21,"context_line":"    prefix such as \u0027volumes_\u0027 or \u0027gigabytes_\u0027 to volume_type_name it"},{"line_number":22,"context_line":"    will exceed the db length limit."},{"line_number":23,"context_line":"    \"\"\""},{"line_number":24,"context_line":"    meta \u003d MetaData(bind\u003dmigrate_engine)"},{"line_number":25,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_58d59647","line":22,"updated":"2018-11-01 01:21:41.000000000","message":"+1. Thanks for the note.","commit_id":"7a3e968c9d55f91e101de4d87befbadfddc573db"}],"cinder/tests/unit/db/test_migrations.py":[{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e71a3aac78b67b8103b0d8790a7cc010278b0cdd","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            # NOTE : 104 modifies size of messages.project_id to 255."},{"line_number":116,"context_line":"            # This should be safe for the same reason as migration 87."},{"line_number":117,"context_line":"            104,"},{"line_number":118,"context_line":"            # NOTE(brinzhang): 255 changes size of quota_usage.resource"},{"line_number":119,"context_line":"            # to 300. This should be safe for the \u0027quota_usage\u0027 db table,"},{"line_number":120,"context_line":"            # because of the 255 is the len limit of volume_type_name,"},{"line_number":121,"context_line":"            # it should be add the additional prefix before volume_type_name,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_e1739fb2","line":118,"range":{"start_line":118,"start_character":31,"end_line":118,"end_character":34},"updated":"2018-10-31 13:07:49.000000000","message":"127","commit_id":"a033a8defd23a517e73d34b19c5888befaf9e246"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bd282710df2c365eb29cdef23533b67dfc496c1f","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            # NOTE : 104 modifies size of messages.project_id to 255."},{"line_number":116,"context_line":"            # This should be safe for the same reason as migration 87."},{"line_number":117,"context_line":"            104,"},{"line_number":118,"context_line":"            # NOTE(brinzhang): 255 changes size of quota_usage.resource"},{"line_number":119,"context_line":"            # to 300. This should be safe for the \u0027quota_usage\u0027 db table,"},{"line_number":120,"context_line":"            # because of the 255 is the len limit of volume_type_name,"},{"line_number":121,"context_line":"            # it should be add the additional prefix before volume_type_name,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_b5af137b","line":118,"range":{"start_line":118,"start_character":31,"end_line":118,"end_character":34},"in_reply_to":"3f79a3b5_e1739fb2","updated":"2018-11-01 00:11:13.000000000","message":"Done","commit_id":"a033a8defd23a517e73d34b19c5888befaf9e246"},{"author":{"_account_id":11904,"name":"Sean McGinnis","email":"sean.mcginnis@gmail.com","username":"SeanM"},"change_message_id":"e71a3aac78b67b8103b0d8790a7cc010278b0cdd","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        volume_transfer \u003d db_utils.get_table(engine, \u0027transfers\u0027)"},{"line_number":416,"context_line":"        self.assertIn(\u0027no_snapshots\u0027, volume_transfer.c)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"    def _check_300(self, engine, data):"},{"line_number":419,"context_line":"        quota_usage_resource \u003d db_utils.get_table(engine, \u0027quota_usages\u0027)"},{"line_number":420,"context_line":"        self.assertIn(\u0027resource\u0027, quota_usage_resource.c)"},{"line_number":421,"context_line":"        self.assertIsInstance(quota_usage_resource.c.resource.type,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_a16da7cc","line":418,"range":{"start_line":418,"start_character":15,"end_line":418,"end_character":18},"updated":"2018-10-31 13:07:49.000000000","message":"127","commit_id":"a033a8defd23a517e73d34b19c5888befaf9e246"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"bd282710df2c365eb29cdef23533b67dfc496c1f","unresolved":false,"context_lines":[{"line_number":415,"context_line":"        volume_transfer \u003d db_utils.get_table(engine, \u0027transfers\u0027)"},{"line_number":416,"context_line":"        self.assertIn(\u0027no_snapshots\u0027, volume_transfer.c)"},{"line_number":417,"context_line":""},{"line_number":418,"context_line":"    def _check_300(self, engine, data):"},{"line_number":419,"context_line":"        quota_usage_resource \u003d db_utils.get_table(engine, \u0027quota_usages\u0027)"},{"line_number":420,"context_line":"        self.assertIn(\u0027resource\u0027, quota_usage_resource.c)"},{"line_number":421,"context_line":"        self.assertIsInstance(quota_usage_resource.c.resource.type,"}],"source_content_type":"text/x-python","patch_set":5,"id":"3f79a3b5_55c47f42","line":418,"range":{"start_line":418,"start_character":15,"end_line":418,"end_character":18},"in_reply_to":"3f79a3b5_a16da7cc","updated":"2018-11-01 00:11:13.000000000","message":"Done","commit_id":"a033a8defd23a517e73d34b19c5888befaf9e246"},{"author":{"_account_id":20722,"name":"Yikun Jiang","email":"yikunkero@gmail.com","username":"yikunkero"},"change_message_id":"7ad4df5acf71c2d30927f148636f77191ebf4512","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            # NOTE : 104 modifies size of messages.project_id to 255."},{"line_number":116,"context_line":"            # This should be safe for the same reason as migration 87."},{"line_number":117,"context_line":"            104,"},{"line_number":118,"context_line":"            # NOTE(brinzhang): 127 changes size of quota_usage.resource"},{"line_number":119,"context_line":"            # to 300. This should be safe for the \u0027quota_usage\u0027 db table,"},{"line_number":120,"context_line":"            # because of the 255 is the len limit of volume_type_name,"},{"line_number":121,"context_line":"            # it should be add the additional prefix before volume_type_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_58903698","line":118,"range":{"start_line":118,"start_character":62,"end_line":118,"end_character":63},"updated":"2018-11-01 01:21:41.000000000","message":"nit: space","commit_id":"7a3e968c9d55f91e101de4d87befbadfddc573db"},{"author":{"_account_id":26458,"name":"Brin Zhang","email":"zhangbailin@inspur.com","username":"zhangbailin"},"change_message_id":"e5c41a900d2c4518911a4ab9efd05835bd5a5401","unresolved":false,"context_lines":[{"line_number":115,"context_line":"            # NOTE : 104 modifies size of messages.project_id to 255."},{"line_number":116,"context_line":"            # This should be safe for the same reason as migration 87."},{"line_number":117,"context_line":"            104,"},{"line_number":118,"context_line":"            # NOTE(brinzhang): 127 changes size of quota_usage.resource"},{"line_number":119,"context_line":"            # to 300. This should be safe for the \u0027quota_usage\u0027 db table,"},{"line_number":120,"context_line":"            # because of the 255 is the len limit of volume_type_name,"},{"line_number":121,"context_line":"            # it should be add the additional prefix before volume_type_name,"}],"source_content_type":"text/x-python","patch_set":6,"id":"3f79a3b5_18c2be55","line":118,"range":{"start_line":118,"start_character":62,"end_line":118,"end_character":63},"in_reply_to":"3f79a3b5_58903698","updated":"2018-11-01 02:07:01.000000000","message":"I think this is ok, because of the resource is a property of the quota_usage table, point is better than space, and I think users can clearly understand the meaning here :P","commit_id":"7a3e968c9d55f91e101de4d87befbadfddc573db"}]}
