)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"0115dbec7a9531ba55961c4a24657efafeead2a3","unresolved":true,"context_lines":[{"line_number":17,"context_line":"as \u0027unknown\u0027, matching how the existing checksum algorithm labels"},{"line_number":18,"context_line":"treat unrecognised values."},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"The label is only added to requests that already emit the metric, so"},{"line_number":21,"context_line":"the number of samples is unchanged."},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"Change-Id: Ic26288ba14351c6f6382238fc26ed04b0053fc62"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":3,"id":"529ea23c_11628db8","line":20,"updated":"2026-09-04 04:50:00.000000000","message":"I feel this statement is overly confidently, but well-behaved SDK traffic should be the case.","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"8357e4aee949fba86e16117352d1ad0d3c7d640f","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"05e39287_ed4f19f0","updated":"2026-09-02 05:38:35.000000000","message":"checksum_type is a good addition to ``swift_s3_checksum_algo_request``, which will provide info on different type of checksum users using with MPU.\n\nThis patch is an standalone one, but if we rebase it on top of the s3 checksum persistence chain and after the CompleteMultipartUpload patch, more real end-to-end test cases would reflect the changes. IMHO, that\u0027ll be better than standalone.","commit_id":"6f83664d4dfb366baa79cdd1bc0f33cc6a14bf59"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c107b426757b648fd556813b5e01b3cefc756d17","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":2,"id":"a0868a21_2cae6bcf","updated":"2026-09-02 16:41:51.000000000","message":"needs moar tests","commit_id":"6f83664d4dfb366baa79cdd1bc0f33cc6a14bf59"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"23ee26c22854bbf5fec9d5cadfe15b4ec56a2dfe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"53602a62_cde0d608","updated":"2026-09-03 13:34:57.000000000","message":"LGTM.\n\nOne nit inside if this gets another update.","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"1d07a8507518ea7e47bcd59229989376293b58e0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"935e4cb6_8fb9a9c0","updated":"2026-09-03 11:46:33.000000000","message":"recheck","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"0115dbec7a9531ba55961c4a24657efafeead2a3","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":3,"id":"80180287_12015eb5","updated":"2026-09-04 04:50:00.000000000","message":"two new test cases are only theoretical, two others can reuse existing tests, see \"1003908: sq? reuse existing tests in test_multi_upload.py | https://review.opendev.org/c/openstack/swift/+/1003908\"","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"e7c4f7896e77491514104d00cea5b159e839db3d","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"fc9e8440_f5a6d311","updated":"2026-09-05 01:20:59.000000000","message":"LGTM","commit_id":"87834c289e96a6dd0be4635e506233d87c12c2a2"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"ecee1c577a20be18fa8da159c0383b2973d8e127","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"eb7c5acf_5c73c7fe","updated":"2026-09-04 23:46:52.000000000","message":"recheck","commit_id":"87834c289e96a6dd0be4635e506233d87c12c2a2"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"6115e1931620a6105de34fbb7a04e7099a8458e8","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":4,"id":"603b274e_7e4fddc6","updated":"2026-09-04 23:53:26.000000000","message":"recheck\nunrelated grenade failure","commit_id":"87834c289e96a6dd0be4635e506233d87c12c2a2"}],"swift/common/middleware/s3api/s3api.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c107b426757b648fd556813b5e01b3cefc756d17","unresolved":true,"context_lines":[{"line_number":200,"context_line":")"},{"line_number":201,"context_line":"# types for x-amz-checksum-type"},{"line_number":202,"context_line":"WELL_KNOWN_CHECKSUM_TYPES \u003d ("},{"line_number":203,"context_line":"    \u0027COMPOSITE\u0027,"},{"line_number":204,"context_line":"    \u0027FULL_OBJECT\u0027"},{"line_number":205,"context_line":")"},{"line_number":206,"context_line":""}],"source_content_type":"text/x-python","patch_set":2,"id":"fc948bb2_f79f737b","line":203,"updated":"2026-09-02 16:41:51.000000000","message":"we think some sdk\u0027s are already sending this!","commit_id":"6f83664d4dfb366baa79cdd1bc0f33cc6a14bf59"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c107b426757b648fd556813b5e01b3cefc756d17","unresolved":true,"context_lines":[{"line_number":392,"context_line":"                    label_val \u003d hdr_val_normalised"},{"line_number":393,"context_line":"                else:"},{"line_number":394,"context_line":"                    label_val \u003d \u0027unknown\u0027"},{"line_number":395,"context_line":"            elif hdr_key \u003d\u003d \u0027x-amz-checksum-type\u0027:"},{"line_number":396,"context_line":"                hdr_val_normalised \u003d hdr_val.upper()"},{"line_number":397,"context_line":"                if hdr_val_normalised in WELL_KNOWN_CHECKSUM_TYPES:"},{"line_number":398,"context_line":"                    label_val \u003d hdr_val_normalised"}],"source_content_type":"text/x-python","patch_set":2,"id":"fbcd7ce4_25eb74ab","line":395,"updated":"2026-09-02 16:41:51.000000000","message":"ok, so we\u0027re totally blind to this on master today - and it will be SUPER useful once we support checksum persistence","commit_id":"6f83664d4dfb366baa79cdd1bc0f33cc6a14bf59"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"23ee26c22854bbf5fec9d5cadfe15b4ec56a2dfe","unresolved":true,"context_lines":[{"line_number":198,"context_line":"    \u0027x-amz-checksum-sha256\u0027,"},{"line_number":199,"context_line":"    \u0027x-amz-checksum-crc64nvme\u0027"},{"line_number":200,"context_line":")"},{"line_number":201,"context_line":"# types for x-amz-checksum-type"},{"line_number":202,"context_line":"WELL_KNOWN_CHECKSUM_TYPES \u003d ("},{"line_number":203,"context_line":"    \u0027COMPOSITE\u0027,"},{"line_number":204,"context_line":"    \u0027FULL_OBJECT\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"4faa2cd4_9dd0d023","line":201,"updated":"2026-09-03 13:34:57.000000000","message":"nit: the other sections above have a link to the latest docs, could use one here as well. https://docs.aws.amazon.com/AmazonS3/latest/API/API_Checksum.html lists the WELL_KNOWN_CHECKSUM_TYPES.","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"f9c17260d54eccee90fc46c8725dac1a732273fa","unresolved":true,"context_lines":[{"line_number":198,"context_line":"    \u0027x-amz-checksum-sha256\u0027,"},{"line_number":199,"context_line":"    \u0027x-amz-checksum-crc64nvme\u0027"},{"line_number":200,"context_line":")"},{"line_number":201,"context_line":"# types for x-amz-checksum-type"},{"line_number":202,"context_line":"WELL_KNOWN_CHECKSUM_TYPES \u003d ("},{"line_number":203,"context_line":"    \u0027COMPOSITE\u0027,"},{"line_number":204,"context_line":"    \u0027FULL_OBJECT\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"f584a289_23afc055","line":201,"in_reply_to":"25bb16db_f0fe9884","updated":"2026-09-03 14:15:59.000000000","message":"See 1003790: doc: add AWS link for well known checksum types | https://review.opendev.org/c/openstack/swift/+/1003790","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"000d20515afd6eae20e21715131bca4d0d4adf2a","unresolved":true,"context_lines":[{"line_number":198,"context_line":"    \u0027x-amz-checksum-sha256\u0027,"},{"line_number":199,"context_line":"    \u0027x-amz-checksum-crc64nvme\u0027"},{"line_number":200,"context_line":")"},{"line_number":201,"context_line":"# types for x-amz-checksum-type"},{"line_number":202,"context_line":"WELL_KNOWN_CHECKSUM_TYPES \u003d ("},{"line_number":203,"context_line":"    \u0027COMPOSITE\u0027,"},{"line_number":204,"context_line":"    \u0027FULL_OBJECT\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"25bb16db_f0fe9884","line":201,"in_reply_to":"4faa2cd4_9dd0d023","updated":"2026-09-03 13:54:39.000000000","message":"Yea this could be a small improvement, a follow up perhaps","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":6968,"name":"Christian Schwede","email":"cschwede@nvidia.com","username":"cschwede"},"change_message_id":"926b1988b47dcc6e8694210896d7d1098fc1db41","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    \u0027x-amz-checksum-sha256\u0027,"},{"line_number":199,"context_line":"    \u0027x-amz-checksum-crc64nvme\u0027"},{"line_number":200,"context_line":")"},{"line_number":201,"context_line":"# types for x-amz-checksum-type"},{"line_number":202,"context_line":"WELL_KNOWN_CHECKSUM_TYPES \u003d ("},{"line_number":203,"context_line":"    \u0027COMPOSITE\u0027,"},{"line_number":204,"context_line":"    \u0027FULL_OBJECT\u0027"}],"source_content_type":"text/x-python","patch_set":3,"id":"7046b765_ba827abb","line":201,"in_reply_to":"f584a289_23afc055","updated":"2026-09-03 15:17:16.000000000","message":"Thx, follow up looks good! +2/+A on that one, so if this one gets merged the followup should merge as well.","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"}],"test/unit/common/middleware/s3api/test_s3api.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"c107b426757b648fd556813b5e01b3cefc756d17","unresolved":true,"context_lines":[{"line_number":2439,"context_line":"                              \u0027header_x_amz_checksum_type\u0027: \u0027unknown\u0027},"},{"line_number":2440,"context_line":"                             labels)"},{"line_number":2441,"context_line":"        do_test(\u0027cheese-fries\u0027)"},{"line_number":2442,"context_line":"        do_test(\u0027glob\u0027)"},{"line_number":2443,"context_line":""},{"line_number":2444,"context_line":"    def test_access_user_id_logging(self):"},{"line_number":2445,"context_line":"        # verify that proxy logging gets access_user_id from S3 requests"}],"source_content_type":"text/x-python","patch_set":2,"id":"23d29657_47d27224","line":2442,"updated":"2026-09-02 16:41:51.000000000","message":"a new tests that does a successful POST/multi-part-object-complete that would emit telemetry for COMPOSITE would demonsrate value on master having this in prod TODAY","commit_id":"6f83664d4dfb366baa79cdd1bc0f33cc6a14bf59"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"6115e1931620a6105de34fbb7a04e7099a8458e8","unresolved":false,"context_lines":[{"line_number":2439,"context_line":"                              \u0027header_x_amz_checksum_type\u0027: \u0027unknown\u0027},"},{"line_number":2440,"context_line":"                             labels)"},{"line_number":2441,"context_line":"        do_test(\u0027cheese-fries\u0027)"},{"line_number":2442,"context_line":"        do_test(\u0027glob\u0027)"},{"line_number":2443,"context_line":""},{"line_number":2444,"context_line":"    def test_access_user_id_logging(self):"},{"line_number":2445,"context_line":"        # verify that proxy logging gets access_user_id from S3 requests"}],"source_content_type":"text/x-python","patch_set":2,"id":"e6a86af2_9d801232","line":2442,"in_reply_to":"23d29657_47d27224","updated":"2026-09-04 23:53:26.000000000","message":"added in the test_multi_upload.py.","commit_id":"6f83664d4dfb366baa79cdd1bc0f33cc6a14bf59"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"0115dbec7a9531ba55961c4a24657efafeead2a3","unresolved":true,"context_lines":[{"line_number":2454,"context_line":"                              \u0027method\u0027: \u0027PUT\u0027,"},{"line_number":2455,"context_line":"                              \u0027type\u0027: \u0027object\u0027,"},{"line_number":2456,"context_line":"                              \u0027status\u0027: 200,"},{"line_number":2457,"context_line":"                              \u0027header_x_amz_checksum_type\u0027:"},{"line_number":2458,"context_line":"                                  checksum_type.upper(),"},{"line_number":2459,"context_line":"                              \u0027header_x_amz_content_sha256\u0027: \u0027hash_64\u0027},"},{"line_number":2460,"context_line":"                             labels)"}],"source_content_type":"text/x-python","patch_set":3,"id":"896ce1a7_d87277e0","line":2457,"updated":"2026-09-04 04:50:00.000000000","message":"``x-amz-checksum-type`` is not a valid PutObject request header, it only shows up in CreateMultipartUpload and CompleteMultipartUpload request headers. remove this test case?","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"57a8836ee127ab4eed177df1f0d5b94bf41d7030","unresolved":false,"context_lines":[{"line_number":2454,"context_line":"                              \u0027method\u0027: \u0027PUT\u0027,"},{"line_number":2455,"context_line":"                              \u0027type\u0027: \u0027object\u0027,"},{"line_number":2456,"context_line":"                              \u0027status\u0027: 200,"},{"line_number":2457,"context_line":"                              \u0027header_x_amz_checksum_type\u0027:"},{"line_number":2458,"context_line":"                                  checksum_type.upper(),"},{"line_number":2459,"context_line":"                              \u0027header_x_amz_content_sha256\u0027: \u0027hash_64\u0027},"},{"line_number":2460,"context_line":"                             labels)"}],"source_content_type":"text/x-python","patch_set":3,"id":"753cb20c_48e9b9f8","line":2457,"in_reply_to":"896ce1a7_d87277e0","updated":"2026-09-04 20:39:53.000000000","message":"Done","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"0115dbec7a9531ba55961c4a24657efafeead2a3","unresolved":true,"context_lines":[{"line_number":2475,"context_line":"                              \u0027method\u0027: \u0027PUT\u0027,"},{"line_number":2476,"context_line":"                              \u0027type\u0027: \u0027object\u0027,"},{"line_number":2477,"context_line":"                              \u0027status\u0027: 200,"},{"line_number":2478,"context_line":"                              \u0027header_x_amz_checksum_type\u0027: \u0027unknown\u0027,"},{"line_number":2479,"context_line":"                              \u0027header_x_amz_content_sha256\u0027: \u0027hash_64\u0027},"},{"line_number":2480,"context_line":"                             labels)"},{"line_number":2481,"context_line":"        do_test(\u0027cheese-fries\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"c447b339_bae907b2","line":2478,"updated":"2026-09-04 04:50:00.000000000","message":"not a valid PutObject reqeust, this case can also be removed.","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"57a8836ee127ab4eed177df1f0d5b94bf41d7030","unresolved":false,"context_lines":[{"line_number":2475,"context_line":"                              \u0027method\u0027: \u0027PUT\u0027,"},{"line_number":2476,"context_line":"                              \u0027type\u0027: \u0027object\u0027,"},{"line_number":2477,"context_line":"                              \u0027status\u0027: 200,"},{"line_number":2478,"context_line":"                              \u0027header_x_amz_checksum_type\u0027: \u0027unknown\u0027,"},{"line_number":2479,"context_line":"                              \u0027header_x_amz_content_sha256\u0027: \u0027hash_64\u0027},"},{"line_number":2480,"context_line":"                             labels)"},{"line_number":2481,"context_line":"        do_test(\u0027cheese-fries\u0027)"}],"source_content_type":"text/x-python","patch_set":3,"id":"9c650032_f4dafa02","line":2478,"in_reply_to":"c447b339_bae907b2","updated":"2026-09-04 20:39:53.000000000","message":"Done","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"0115dbec7a9531ba55961c4a24657efafeead2a3","unresolved":true,"context_lines":[{"line_number":2483,"context_line":""},{"line_number":2484,"context_line":"    @patch(\u0027swift.common.middleware.s3api.controllers.\u0027"},{"line_number":2485,"context_line":"           \u0027multi_upload.unique_id\u0027, lambda: \u0027X\u0027)"},{"line_number":2486,"context_line":"    def test_emit_stats_x_amz_checksum_type_mpu_initiate(self):"},{"line_number":2487,"context_line":"        self.swift.register(\u0027HEAD\u0027, \u0027/v1/AUTH_test/bucket+segments\u0027,"},{"line_number":2488,"context_line":"                            swob.HTTPNoContent, {}, None)"},{"line_number":2489,"context_line":"        self.swift.register(\u0027PUT\u0027, \u0027/v1/AUTH_test/bucket+segments/object/X\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"f0f463b8_5aa3788f","line":2486,"updated":"2026-09-04 04:50:00.000000000","message":"there are existing test cases on create mpu, let\u0027s reuse them. see https://review.opendev.org/c/openstack/swift/+/1003908","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"57a8836ee127ab4eed177df1f0d5b94bf41d7030","unresolved":false,"context_lines":[{"line_number":2483,"context_line":""},{"line_number":2484,"context_line":"    @patch(\u0027swift.common.middleware.s3api.controllers.\u0027"},{"line_number":2485,"context_line":"           \u0027multi_upload.unique_id\u0027, lambda: \u0027X\u0027)"},{"line_number":2486,"context_line":"    def test_emit_stats_x_amz_checksum_type_mpu_initiate(self):"},{"line_number":2487,"context_line":"        self.swift.register(\u0027HEAD\u0027, \u0027/v1/AUTH_test/bucket+segments\u0027,"},{"line_number":2488,"context_line":"                            swob.HTTPNoContent, {}, None)"},{"line_number":2489,"context_line":"        self.swift.register(\u0027PUT\u0027, \u0027/v1/AUTH_test/bucket+segments/object/X\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"efe7b913_cd96981d","line":2486,"in_reply_to":"f0f463b8_5aa3788f","updated":"2026-09-04 20:39:53.000000000","message":"Done","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":34930,"name":"Jianjian Huo","email":"jhuo@nvidia.com","username":"jhuo"},"change_message_id":"0115dbec7a9531ba55961c4a24657efafeead2a3","unresolved":true,"context_lines":[{"line_number":2507,"context_line":"                          \u0027header_x_amz_content_sha256\u0027: \u0027hash_64\u0027},"},{"line_number":2508,"context_line":"                         labels)"},{"line_number":2509,"context_line":""},{"line_number":2510,"context_line":"    def test_emit_stats_x_amz_checksum_type_mpu_complete(self):"},{"line_number":2511,"context_line":"        self.swift.register(\u0027HEAD\u0027, \u0027/v1/AUTH_test/bucket+segments/object/X\u0027,"},{"line_number":2512,"context_line":"                            swob.HTTPOk, {}, None)"},{"line_number":2513,"context_line":"        self.swift.register(\u0027DELETE\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"97f91bbf_73b037b9","line":2510,"updated":"2026-09-04 04:50:00.000000000","message":"same, we can reuse existing test case in test_multi_upload.py, see https://review.opendev.org/c/openstack/swift/+/1003908","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"},{"author":{"_account_id":39146,"name":"Nathaniel Martes","display_name":"Nate Martes","email":"natemartes09@gmail.com","username":"nmartes"},"change_message_id":"57a8836ee127ab4eed177df1f0d5b94bf41d7030","unresolved":false,"context_lines":[{"line_number":2507,"context_line":"                          \u0027header_x_amz_content_sha256\u0027: \u0027hash_64\u0027},"},{"line_number":2508,"context_line":"                         labels)"},{"line_number":2509,"context_line":""},{"line_number":2510,"context_line":"    def test_emit_stats_x_amz_checksum_type_mpu_complete(self):"},{"line_number":2511,"context_line":"        self.swift.register(\u0027HEAD\u0027, \u0027/v1/AUTH_test/bucket+segments/object/X\u0027,"},{"line_number":2512,"context_line":"                            swob.HTTPOk, {}, None)"},{"line_number":2513,"context_line":"        self.swift.register(\u0027DELETE\u0027,"}],"source_content_type":"text/x-python","patch_set":3,"id":"3250693f_13cf5feb","line":2510,"in_reply_to":"97f91bbf_73b037b9","updated":"2026-09-04 20:39:53.000000000","message":"Done","commit_id":"7d673e3b7d4f21b1f9054cb233fb427cfc1e0aea"}]}
