)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"af9dc06d35595495e14f0887751ff31111c0e97d","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     zheng yin \u003cyin.zheng@easystack.cn\u003e"},{"line_number":5,"context_line":"CommitDate: 2016-07-26 22:13:34 +0800"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Jugde container-name length"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Judge the length of container name at the beginning of a function,"},{"line_number":10,"context_line":"that can reduce loads from wrong requests."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":4,"id":"bacf61ea_8cb5557f","line":7,"updated":"2016-08-01 17:28:51.000000000","message":"s/Jugde/Judge/\n\nIf I understand the change correctly, it has reasonably significant implications i.e. not just that name length is checked earlier, but that it is checked at all. I\u0027d prefer that to be explicit in the commit subject, e.g.:\n\n\"Enforce MAX_CONTAINER_NAME_LENGTH in all requests\"","commit_id":"67e7007315e7a116cf8f19ed895405764894f8a8"}],"swift/proxy/controllers/container.py":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"dd8c9c7499dd14c487c0ecfb3ebe0b260560a742","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            # Don\u0027t cache this. The lack of account will be cached, and that"},{"line_number":97,"context_line":"            # is sufficient."},{"line_number":98,"context_line":"            return HTTPNotFound(request\u003dreq)"},{"line_number":99,"context_line":"        if len(self.container_name) \u003e constraints.MAX_CONTAINER_NAME_LENGTH:"},{"line_number":100,"context_line":"            resp \u003d HTTPBadRequest(request\u003dreq)"},{"line_number":101,"context_line":"            resp.body \u003d \u0027container name length of %d longer than %d\u0027 % \\"},{"line_number":102,"context_line":"                        (len(self.container_name),"},{"line_number":103,"context_line":"                         constraints.MAX_CONTAINER_NAME_LENGTH)"},{"line_number":104,"context_line":"            return resp"},{"line_number":105,"context_line":"        part \u003d self.app.container_ring.get_part("},{"line_number":106,"context_line":"            self.account_name, self.container_name)"},{"line_number":107,"context_line":"        concurrency \u003d self.app.container_ring.replica_count \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_c1dab44a","line":104,"range":{"start_line":99,"start_character":8,"end_line":104,"end_character":23},"updated":"2016-07-26 11:34:54.000000000","message":"Should this not be at line 87? You have taken the overhead of doing an auth check for something that is going to fail constraints anyway.","commit_id":"98e5d1d1da0b80e3ea6508a5c8a8783a0ef0766e"},{"author":{"_account_id":22059,"name":"zheng yin","email":"yin__zheng@163.com","username":"zy751713126"},"change_message_id":"dc2f6d719ef6505c4b555635d36d674be0f25ccc","unresolved":false,"context_lines":[{"line_number":96,"context_line":"            # Don\u0027t cache this. The lack of account will be cached, and that"},{"line_number":97,"context_line":"            # is sufficient."},{"line_number":98,"context_line":"            return HTTPNotFound(request\u003dreq)"},{"line_number":99,"context_line":"        if len(self.container_name) \u003e constraints.MAX_CONTAINER_NAME_LENGTH:"},{"line_number":100,"context_line":"            resp \u003d HTTPBadRequest(request\u003dreq)"},{"line_number":101,"context_line":"            resp.body \u003d \u0027container name length of %d longer than %d\u0027 % \\"},{"line_number":102,"context_line":"                        (len(self.container_name),"},{"line_number":103,"context_line":"                         constraints.MAX_CONTAINER_NAME_LENGTH)"},{"line_number":104,"context_line":"            return resp"},{"line_number":105,"context_line":"        part \u003d self.app.container_ring.get_part("},{"line_number":106,"context_line":"            self.account_name, self.container_name)"},{"line_number":107,"context_line":"        concurrency \u003d self.app.container_ring.replica_count \\"}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_78fd71b0","line":104,"range":{"start_line":99,"start_character":8,"end_line":104,"end_character":23},"in_reply_to":"dada55a8_c1dab44a","updated":"2016-07-26 14:10:32.000000000","message":"Yes, You are right, firstly, we should check container name length. If container name length is too long, it is unnecessary to run the rest of the code.","commit_id":"98e5d1d1da0b80e3ea6508a5c8a8783a0ef0766e"}],"test/unit/proxy/controllers/test_container.py":[{"author":{"_account_id":860,"name":"Donagh McCabe","email":"donagh.mccabe@gmail.com","username":"donagh-mccabe"},"change_message_id":"dd8c9c7499dd14c487c0ecfb3ebe0b260560a742","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                self.app, self.container_ring.devs[2]),"},{"line_number":227,"context_line":"                self.app.error_suppression_limit + 1)"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def test_long_container_names(self):"},{"line_number":230,"context_line":"        long_container_name \u003d \u0027%sLongAccountName\u0027 % ("},{"line_number":231,"context_line":"            \u0027Very\u0027 * (constraints.MAX_CONTAINER_NAME_LENGTH // 4))"},{"line_number":232,"context_line":"        controller \u003d proxy_server.ContainerController("}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_4147e4bb","line":229,"range":{"start_line":229,"start_character":8,"end_line":229,"end_character":33},"updated":"2016-07-26 11:34:54.000000000","message":"There does not seem to be an existing test for PUT with too-long name. Could you add this so PUT is also tested?","commit_id":"98e5d1d1da0b80e3ea6508a5c8a8783a0ef0766e"},{"author":{"_account_id":22059,"name":"zheng yin","email":"yin__zheng@163.com","username":"zy751713126"},"change_message_id":"dc2f6d719ef6505c4b555635d36d674be0f25ccc","unresolved":false,"context_lines":[{"line_number":226,"context_line":"                self.app, self.container_ring.devs[2]),"},{"line_number":227,"context_line":"                self.app.error_suppression_limit + 1)"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    def test_long_container_names(self):"},{"line_number":230,"context_line":"        long_container_name \u003d \u0027%sLongAccountName\u0027 % ("},{"line_number":231,"context_line":"            \u0027Very\u0027 * (constraints.MAX_CONTAINER_NAME_LENGTH // 4))"},{"line_number":232,"context_line":"        controller \u003d proxy_server.ContainerController("}],"source_content_type":"text/x-python","patch_set":3,"id":"dada55a8_f5d20cd0","line":229,"range":{"start_line":229,"start_character":8,"end_line":229,"end_character":33},"in_reply_to":"dada55a8_4147e4bb","updated":"2016-07-26 14:10:32.000000000","message":"Yes, I will add it. thank you very much.","commit_id":"98e5d1d1da0b80e3ea6508a5c8a8783a0ef0766e"}]}
