)]}'
{"nova/api/openstack/wsgi.py":[{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"b2583f11fafdfce34ece7d95133cadeade96abdd","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"            404: \"itemNotFound\","},{"line_number":1164,"context_line":"            405: \"badMethod\","},{"line_number":1165,"context_line":"            409: \"conflictingRequest\","},{"line_number":1166,"context_line":"            413: \"overLimit\","},{"line_number":1167,"context_line":"            415: \"badMediaType\","},{"line_number":1168,"context_line":"            429: \"overLimit\","},{"line_number":1169,"context_line":"            501: \"notImplemented\","}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fg44%3D","line":1166,"updated":"2013-07-17 04:37:33.000000000","message":"could you please change code 413 description  to something like \"requestEntityTooLarge\"","commit_id":"2f292cb9038a3df34d957dfc95cc3afbcba3dbce"},{"author":{"_account_id":2967,"name":"ljjjustin","email":"iamljj@gmail.com","username":"ljjjustin"},"change_message_id":"600c9ed24e40120f5a1f7f316b9db6bed7b56af0","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"            404: \"itemNotFound\","},{"line_number":1164,"context_line":"            405: \"badMethod\","},{"line_number":1165,"context_line":"            409: \"conflictingRequest\","},{"line_number":1166,"context_line":"            413: \"overLimit\","},{"line_number":1167,"context_line":"            415: \"badMediaType\","},{"line_number":1168,"context_line":"            429: \"overLimit\","},{"line_number":1169,"context_line":"            501: \"notImplemented\","}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fgi0%3D","line":1166,"in_reply_to":"AAAAP3%2F%2Fg44%3D","updated":"2013-07-17 07:24:50.000000000","message":"ok!","commit_id":"2f292cb9038a3df34d957dfc95cc3afbcba3dbce"},{"author":{"_account_id":2967,"name":"ljjjustin","email":"iamljj@gmail.com","username":"ljjjustin"},"change_message_id":"e5037fa60a6e505d55c42a622db5f3cbf80ca401","unresolved":false,"context_lines":[{"line_number":1163,"context_line":"            404: \"itemNotFound\","},{"line_number":1164,"context_line":"            405: \"badMethod\","},{"line_number":1165,"context_line":"            409: \"conflictingRequest\","},{"line_number":1166,"context_line":"            413: \"overLimit\","},{"line_number":1167,"context_line":"            415: \"badMediaType\","},{"line_number":1168,"context_line":"            429: \"overLimit\","},{"line_number":1169,"context_line":"            501: \"notImplemented\","}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FgRQ%3D","line":1166,"in_reply_to":"AAAAP3%2F%2Fgi0%3D","updated":"2013-07-17 08:53:25.000000000","message":"nova will raise HTTPRequestEntityTooLarge exception on any quota error. I think overLimit is a apposite description. I won\u0027t fix it in this patch.","commit_id":"2f292cb9038a3df34d957dfc95cc3afbcba3dbce"},{"author":{"_account_id":1313,"name":"yaguang","display_name":"Yaguang Tang","email":"heut2008@gmail.com","username":"heut2008"},"change_message_id":"b2583f11fafdfce34ece7d95133cadeade96abdd","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"            fault_name: {"},{"line_number":1191,"context_line":"                \u0027code\u0027: code,"},{"line_number":1192,"context_line":"                \u0027message\u0027: explanation}}"},{"line_number":1193,"context_line":"        if code \u003d\u003d 429 or code \u003d\u003d 413:"},{"line_number":1194,"context_line":"            retry \u003d self.wrapped_exc.headers.get(\u0027Retry-After\u0027, None)"},{"line_number":1195,"context_line":"            if retry:"},{"line_number":1196,"context_line":"                fault_data[fault_name][\u0027retryAfter\u0027] \u003d retry"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2Fg4Q%3D","line":1193,"updated":"2013-07-17 04:37:33.000000000","message":"code 413 should be processed separately.","commit_id":"2f292cb9038a3df34d957dfc95cc3afbcba3dbce"},{"author":{"_account_id":2967,"name":"ljjjustin","email":"iamljj@gmail.com","username":"ljjjustin"},"change_message_id":"e5037fa60a6e505d55c42a622db5f3cbf80ca401","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"            fault_name: {"},{"line_number":1191,"context_line":"                \u0027code\u0027: code,"},{"line_number":1192,"context_line":"                \u0027message\u0027: explanation}}"},{"line_number":1193,"context_line":"        if code \u003d\u003d 429 or code \u003d\u003d 413:"},{"line_number":1194,"context_line":"            retry \u003d self.wrapped_exc.headers.get(\u0027Retry-After\u0027, None)"},{"line_number":1195,"context_line":"            if retry:"},{"line_number":1196,"context_line":"                fault_data[fault_name][\u0027retryAfter\u0027] \u003d retry"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAP3%2F%2FgQ4%3D","line":1193,"in_reply_to":"AAAAP3%2F%2Fg4Q%3D","updated":"2013-07-17 08:53:25.000000000","message":"I think it\u0027s ok. Both HTTPRequestEntityTooLarge and HTTPTooManyRequests may have Retry-After header.","commit_id":"2f292cb9038a3df34d957dfc95cc3afbcba3dbce"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"a0799372d701d379d97fc9c48abe95fd5b9f9c32","unresolved":false,"context_lines":[{"line_number":1165,"context_line":"            409: \"conflictingRequest\","},{"line_number":1166,"context_line":"            413: \"overLimit\","},{"line_number":1167,"context_line":"            415: \"badMediaType\","},{"line_number":1168,"context_line":"            429: \"overLimit\","},{"line_number":1169,"context_line":"            501: \"notImplemented\","},{"line_number":1170,"context_line":"            503: \"serviceUnavailable\"}"},{"line_number":1171,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2Fcps%3D","line":1168,"updated":"2013-07-31 02:26:18.000000000","message":"nit, 413 called overLimit too. how about \u0027rateLimit\u0027?  it depend on you.","commit_id":"a8b8ebb32a184c752495d11fdf47ab12c2af97f3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"13222713051675ffdbdd2d235c6f54d0dd7fecf0","unresolved":false,"context_lines":[{"line_number":1165,"context_line":"            409: \"conflictingRequest\","},{"line_number":1166,"context_line":"            413: \"overLimit\","},{"line_number":1167,"context_line":"            415: \"badMediaType\","},{"line_number":1168,"context_line":"            429: \"overLimit\","},{"line_number":1169,"context_line":"            501: \"notImplemented\","},{"line_number":1170,"context_line":"            503: \"serviceUnavailable\"}"},{"line_number":1171,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FYLA%3D","line":1168,"in_reply_to":"AAAAQn%2F%2FaZY%3D","updated":"2013-08-01 05:48:02.000000000","message":"I see now, thanks","commit_id":"a8b8ebb32a184c752495d11fdf47ab12c2af97f3"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"bc7bd61a2332c613613a408a1fc5642418427c65","unresolved":false,"context_lines":[{"line_number":1165,"context_line":"            409: \"conflictingRequest\","},{"line_number":1166,"context_line":"            413: \"overLimit\","},{"line_number":1167,"context_line":"            415: \"badMediaType\","},{"line_number":1168,"context_line":"            429: \"overLimit\","},{"line_number":1169,"context_line":"            501: \"notImplemented\","},{"line_number":1170,"context_line":"            503: \"serviceUnavailable\"}"},{"line_number":1171,"context_line":""}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FaZY%3D","line":1168,"in_reply_to":"AAAAQn%2F%2Fcps%3D","updated":"2013-07-31 15:50:44.000000000","message":"I presume that change was due to the complaint that Russell had that the body of the 413 response was changed, which is a no-no for v2.","commit_id":"a8b8ebb32a184c752495d11fdf47ab12c2af97f3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"969fd87f8fb50a88edf9f60c143478caf148b8c6","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"            fault_name: {"},{"line_number":1191,"context_line":"                \u0027code\u0027: code,"},{"line_number":1192,"context_line":"                \u0027message\u0027: explanation}}"},{"line_number":1193,"context_line":"        if code \u003d\u003d 413 or code \u003d\u003d 429:"},{"line_number":1194,"context_line":"            retry \u003d self.wrapped_exc.headers.get(\u0027Retry-After\u0027, None)"},{"line_number":1195,"context_line":"            if retry:"},{"line_number":1196,"context_line":"                fault_data[fault_name][\u0027retryAfter\u0027] \u003d retry"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2Fcqk%3D","line":1193,"updated":"2013-07-31 02:19:32.000000000","message":"One question, Is the header \u0027Retry-After\u0027 still useful for 413? I checked all the return for 413 just set Retry-After to \u00270\u0027","commit_id":"a8b8ebb32a184c752495d11fdf47ab12c2af97f3"},{"author":{"_account_id":5754,"name":"Alex Xu","email":"hejie.xu@intel.com","username":"xuhj"},"change_message_id":"13222713051675ffdbdd2d235c6f54d0dd7fecf0","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"            fault_name: {"},{"line_number":1191,"context_line":"                \u0027code\u0027: code,"},{"line_number":1192,"context_line":"                \u0027message\u0027: explanation}}"},{"line_number":1193,"context_line":"        if code \u003d\u003d 413 or code \u003d\u003d 429:"},{"line_number":1194,"context_line":"            retry \u003d self.wrapped_exc.headers.get(\u0027Retry-After\u0027, None)"},{"line_number":1195,"context_line":"            if retry:"},{"line_number":1196,"context_line":"                fault_data[fault_name][\u0027retryAfter\u0027] \u003d retry"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FYK8%3D","line":1193,"in_reply_to":"AAAAQn%2F%2FaYs%3D","updated":"2013-08-01 05:48:02.000000000","message":"thanks for the link","commit_id":"a8b8ebb32a184c752495d11fdf47ab12c2af97f3"},{"author":{"_account_id":679,"name":"Kevin L. Mitchell","email":"klmitch@mit.edu","username":"klmitch"},"change_message_id":"bc7bd61a2332c613613a408a1fc5642418427c65","unresolved":false,"context_lines":[{"line_number":1190,"context_line":"            fault_name: {"},{"line_number":1191,"context_line":"                \u0027code\u0027: code,"},{"line_number":1192,"context_line":"                \u0027message\u0027: explanation}}"},{"line_number":1193,"context_line":"        if code \u003d\u003d 413 or code \u003d\u003d 429:"},{"line_number":1194,"context_line":"            retry \u003d self.wrapped_exc.headers.get(\u0027Retry-After\u0027, None)"},{"line_number":1195,"context_line":"            if retry:"},{"line_number":1196,"context_line":"                fault_data[fault_name][\u0027retryAfter\u0027] \u003d retry"}],"source_content_type":"text/x-python","patch_set":6,"id":"AAAAQn%2F%2FaYs%3D","line":1193,"in_reply_to":"AAAAQn%2F%2Fcqk%3D","updated":"2013-07-31 15:50:44.000000000","message":"Yes; the HTTP spec says:\n\n    If the condition is temporary, the server SHOULD include a Retry- After header\n    field to indicate that it is temporary and after what time the client MAY try again.\n\nhttp://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html","commit_id":"a8b8ebb32a184c752495d11fdf47ab12c2af97f3"}]}
