)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"4bddd8409ada6630d5f9effa2a2313071e84debf","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"7f2ffe5b_5a4cd514","updated":"2024-01-05 22:00:10.000000000","message":"I feel I won\u0027t tolerate ``\u0027x-backend-record-shard-format\u0027 \u003d \u0027nonsense\u0027``, this header is only used internally between swift servers, currently we only use ``namespace`` or ``full``. if someone code up a new usage with this header set as ``\u0027nonsense\u0027``, I feel we should return him/her ``\u0027nonsense\u0027`` back (LOL) even though actual full shard ranges are returned, then he could find out his wrong usages by comparing it against ``namespace`` or ``full``. Ideally we should check the content of this header to be a legitimate parameter, but it seems swift code doesn\u0027t do this usually.","commit_id":"bd6c29b8615098b8e7a384acc56aad8f28d38810"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"d11c89efe4c102f6dd26fb445d296cfb5478c8f8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"29f649de_96a98c93","updated":"2024-01-06 01:07:01.000000000","message":"okay, had discussions with Clay. he suggested to follow principle of robustness here, which is essentially “be conservative in what you send, be liberal in what you accept”, see https://en.wikipedia.org/wiki/Robustness_principle\n\nAnother good point from him, if upgraded service wants to request backend-record-format: binary-tree-compressed-namespace we might be bummed to temporarily receive an inefficient record-format: full response until that server is upgrade; but at least the new service code will get a clear signal that it\u0027s talking to an old server and what\u0027s in the response and what it should do with it.\n\nIn light of principle of robustness, I also feel this patch is the right way to go, will squash it into 890470.","commit_id":"bd6c29b8615098b8e7a384acc56aad8f28d38810"}],"swift/container/server.py":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"e4c66b2d1223b3a8ee79bb4973cf3d197f4ad370","unresolved":false,"context_lines":[{"line_number":792,"context_line":"            info, is_deleted\u003dis_deleted and not override_deleted)"},{"line_number":793,"context_line":""},{"line_number":794,"context_line":"        if is_deleted and not override_deleted:"},{"line_number":795,"context_line":"            return HTTPNotFound(request\u003dreq, headers\u003dresp_headers)"},{"line_number":796,"context_line":""},{"line_number":797,"context_line":"        marker \u003d params.get(\u0027marker\u0027, \u0027\u0027)"},{"line_number":798,"context_line":"        end_marker \u003d params.get(\u0027end_marker\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"0e86bf4f_0c451a4d","line":795,"updated":"2024-01-05 22:06:45.000000000","message":"this early return is good","commit_id":"bd6c29b8615098b8e7a384acc56aad8f28d38810"}]}
