)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0ccf126d1f5f76474a02f4160013cf94c1d31b2b","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"21cba1d0_97fabbf0","updated":"2026-03-31 16:46:49.000000000","message":"I think we should squash this into the log fix\n\nI\u0027ve been saying \"if we can\u0027t have a fix or there\u0027s risk of regression we should just add logging\" - but we\u0027re past that now; we now have TWO well tested possible fixes.  I think this fix squashes nicely into the logging fix.\n\nThen if we WANT to add the \"look for second possible useful bucket\" change we can do that as a follow-up.","commit_id":"4e2f36fff3d1fe8c19e730e8ae58617e820b1bab"}],"swift/obj/reconstructor.py":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"e25b47bf8b7fc0affc9f2093e76fc301ea363149","unresolved":true,"context_lines":[{"line_number":690,"context_line":"                    )"},{"line_number":691,"context_line":"                )"},{"line_number":692,"context_line":"                self.logger.error(msg)"},{"line_number":693,"context_line":"                raise DiskFileError(msg)"},{"line_number":694,"context_line":"            frag_indexes \u003d list(useful_bucket.useful_responses.keys())"},{"line_number":695,"context_line":"            self.logger.debug(\u0027Reconstruct frag #%s with frag indexes %s\u0027"},{"line_number":696,"context_line":"                              % (fi_to_rebuild, frag_indexes))"}],"source_content_type":"text/x-python","patch_set":1,"id":"49e2456a_a2e32b63","line":693,"updated":"2026-03-31 06:05:22.000000000","message":"I thought about this in previous iteration, and then realized we couldn\u0027t just return here, be cause we need to have ``_make_fragment_requests`` to finish processing those extra received responses if mismatch happens, as reasons listed at here: https://review.opendev.org/c/openstack/swift/+/978845/comment/1badef98_53202f70/","commit_id":"4e2f36fff3d1fe8c19e730e8ae58617e820b1bab"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"0ccf126d1f5f76474a02f4160013cf94c1d31b2b","unresolved":true,"context_lines":[{"line_number":690,"context_line":"                    )"},{"line_number":691,"context_line":"                )"},{"line_number":692,"context_line":"                self.logger.error(msg)"},{"line_number":693,"context_line":"                raise DiskFileError(msg)"},{"line_number":694,"context_line":"            frag_indexes \u003d list(useful_bucket.useful_responses.keys())"},{"line_number":695,"context_line":"            self.logger.debug(\u0027Reconstruct frag #%s with frag indexes %s\u0027"},{"line_number":696,"context_line":"                              % (fi_to_rebuild, frag_indexes))"}],"source_content_type":"text/x-python","patch_set":1,"id":"950c0422_08e09c26","line":693,"in_reply_to":"49e2456a_a2e32b63","updated":"2026-03-31 16:46:49.000000000","message":"the \"reasons\" are basically just \"search for possible second useful bucket\"\n\nI don\u0027t think we have to ADD that behavior to prevent data corruption.\n\nMOST IMPORTANT: don\u0027t write data with wrong metadata\nLEAST IMPORTANT: add rebuilding in a previously un-reachable scenario that we have no evidence we need","commit_id":"4e2f36fff3d1fe8c19e730e8ae58617e820b1bab"}]}
