)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ea175f8d31364d0d9fbe9bbfaa384437df307f65","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":1,"id":"afb61c08_71abbb07","updated":"2026-05-27 22:55:10.000000000","message":"I had my agents break my proxies and they seemed pretty convinced we needed a bash timeout to keep the tests from hanging; we took a swing and making the tests have some timeouts but I don\u0027t really think that\u0027s useful \"in general\" unless we have a lot of these proxy-worker-falls-into-infinate-loop-and-never-responds bugs:\n\n990393: DNM: Bound s3api truncation test timeouts | https://review.opendev.org/c/openstack/swift/+/990393","commit_id":"3a1ac8cedd9a3ad5a0970dc699ff4c19e0e71d93"}],"test/s3api/test_input_errors.py":[{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ea175f8d31364d0d9fbe9bbfaa384437df307f65","unresolved":true,"context_lines":[{"line_number":2185,"context_line":"        # use raw_conn to send exactly what we want"},{"line_number":2186,"context_line":"        raw_conn \u003d get_raw_conn(req)"},{"line_number":2187,"context_line":"        chunked_body \u003d b\u0027\u0027.join(b\u0027%x\\r\\n%s\\r\\n\u0027 % (len(chunk), chunk)"},{"line_number":2188,"context_line":"                                for chunk in [aws_chunked_payload, b\u0027\u0027])"},{"line_number":2189,"context_line":"        raw_conn.send(chunked_body)"},{"line_number":2190,"context_line":"        resp \u003d raw_conn.getresponse()"},{"line_number":2191,"context_line":"        respbody \u003d resp.read()"}],"source_content_type":"text/x-python","patch_set":1,"id":"43fbd4eb_5564a527","line":2188,"updated":"2026-05-27 22:55:10.000000000","message":"whoa!  this is chunking the unsigned aws-chunks!!!","commit_id":"3a1ac8cedd9a3ad5a0970dc699ff4c19e0e71d93"},{"author":{"_account_id":1179,"name":"Clay Gerrard","email":"clay.gerrard@gmail.com","username":"clay-gerrard"},"change_message_id":"ea175f8d31364d0d9fbe9bbfaa384437df307f65","unresolved":true,"context_lines":[{"line_number":2202,"context_line":"        self.conn.sign_request(req)"},{"line_number":2203,"context_line":"        raw_conn \u003d get_raw_conn(req)"},{"line_number":2204,"context_line":"        chunked_body \u003d b\u0027\u0027.join(b\u0027%x\\r\\n%s\\r\\n\u0027 % (len(chunk), chunk)"},{"line_number":2205,"context_line":"                                for chunk in [aws_chunked_payload[:-100], b\u0027\u0027])"},{"line_number":2206,"context_line":"        raw_conn.send(chunked_body)"},{"line_number":2207,"context_line":"        resp \u003d raw_conn.getresponse()"},{"line_number":2208,"context_line":"        respbody \u003d resp.read()"}],"source_content_type":"text/x-python","patch_set":1,"id":"618067ac_8812a413","line":2205,"updated":"2026-05-27 22:55:10.000000000","message":"right, http framing is perfectly valid - but you cut off into the middle of the aws-chunk","commit_id":"3a1ac8cedd9a3ad5a0970dc699ff4c19e0e71d93"}]}
