)]}'
{"/PATCHSET_LEVEL":[{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9b6056b93ab7a9586f7f283639098546cefa448a","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"16fd8756_2218f78d","updated":"2024-10-01 14:22:39.000000000","message":"cleanup here https://review.opendev.org/c/openstack/swift/+/931023 mpu: make MPUSession.is_aborted a property","commit_id":"99daef8f764b410434f2d8f282df9c593989d9a5"}],"swift/common/middleware/mpu.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"a35bdbfbdd63620dbc284cd5151a7bd961c7a026","unresolved":true,"context_lines":[{"line_number":138,"context_line":"        self.content_type \u003d session_headers.get(\u0027content-type\u0027,"},{"line_number":139,"context_line":"                                                MPU_CONTENT_TYPE)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def is_aborted(self):"},{"line_number":142,"context_line":"        return self.content_type \u003d\u003d MPU_ABORTED_CONTENT_TYPE"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def abort(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"8a8dbcb3_d8a95f8d","line":141,"updated":"2024-10-01 03:32:16.000000000","message":"Feels like it could use a `@property`","commit_id":"99daef8f764b410434f2d8f282df9c593989d9a5"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9b6056b93ab7a9586f7f283639098546cefa448a","unresolved":false,"context_lines":[{"line_number":138,"context_line":"        self.content_type \u003d session_headers.get(\u0027content-type\u0027,"},{"line_number":139,"context_line":"                                                MPU_CONTENT_TYPE)"},{"line_number":140,"context_line":""},{"line_number":141,"context_line":"    def is_aborted(self):"},{"line_number":142,"context_line":"        return self.content_type \u003d\u003d MPU_ABORTED_CONTENT_TYPE"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def abort(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"032c0415_964f1118","line":141,"in_reply_to":"8a8dbcb3_d8a95f8d","updated":"2024-10-01 14:22:39.000000000","message":"Done","commit_id":"99daef8f764b410434f2d8f282df9c593989d9a5"},{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"a35bdbfbdd63620dbc284cd5151a7bd961c7a026","unresolved":true,"context_lines":[{"line_number":142,"context_line":"        return self.content_type \u003d\u003d MPU_ABORTED_CONTENT_TYPE"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def abort(self):"},{"line_number":145,"context_line":"        self.content_type \u003d MPU_ABORTED_CONTENT_TYPE"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @property"},{"line_number":148,"context_line":"    def state(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"5db37042_984ec978","line":145,"updated":"2024-10-01 03:32:16.000000000","message":"Do we actually use these helpers yet?","commit_id":"99daef8f764b410434f2d8f282df9c593989d9a5"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9b6056b93ab7a9586f7f283639098546cefa448a","unresolved":false,"context_lines":[{"line_number":142,"context_line":"        return self.content_type \u003d\u003d MPU_ABORTED_CONTENT_TYPE"},{"line_number":143,"context_line":""},{"line_number":144,"context_line":"    def abort(self):"},{"line_number":145,"context_line":"        self.content_type \u003d MPU_ABORTED_CONTENT_TYPE"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    @property"},{"line_number":148,"context_line":"    def state(self):"}],"source_content_type":"text/x-python","patch_set":5,"id":"6b6e6ea8_41263d1f","line":145,"in_reply_to":"5db37042_984ec978","updated":"2024-10-01 14:22:39.000000000","message":"Done","commit_id":"99daef8f764b410434f2d8f282df9c593989d9a5"}],"test/unit/common/middleware/test_mpu.py":[{"author":{"_account_id":15343,"name":"Tim Burke","email":"tburke@nvidia.com","username":"tburke"},"change_message_id":"a35bdbfbdd63620dbc284cd5151a7bd961c7a026","unresolved":true,"context_lines":[{"line_number":253,"context_line":"             \u0027bytes\u0027: 0,"},{"line_number":254,"context_line":"             \u0027content_type\u0027: \u0027application/x-mpu\u0027,"},{"line_number":255,"context_line":"             \u0027last_modified\u0027: \u00271970-01-01T00:00:00.000000\u0027},"},{"line_number":256,"context_line":"            # aborted"},{"line_number":257,"context_line":"            {\u0027name\u0027: \u0027\\x00obj3/%s\u0027 % next(self.id_iter),"},{"line_number":258,"context_line":"             \u0027hash\u0027: \u0027etag\u0027,"},{"line_number":259,"context_line":"             \u0027bytes\u0027: 0,"},{"line_number":260,"context_line":"             \u0027content_type\u0027: \u0027application/x-mpu-aborted\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"13c541ef_01d3f304","line":257,"range":{"start_line":256,"start_character":12,"end_line":257,"end_character":56},"updated":"2024-10-01 03:32:16.000000000","message":"So where does `MPU_ABORTED_MARKER_SUFFIX` fit into all this?","commit_id":"99daef8f764b410434f2d8f282df9c593989d9a5"},{"author":{"_account_id":7847,"name":"Alistair Coles","email":"alistairncoles@gmail.com","username":"acoles"},"change_message_id":"9b6056b93ab7a9586f7f283639098546cefa448a","unresolved":false,"context_lines":[{"line_number":253,"context_line":"             \u0027bytes\u0027: 0,"},{"line_number":254,"context_line":"             \u0027content_type\u0027: \u0027application/x-mpu\u0027,"},{"line_number":255,"context_line":"             \u0027last_modified\u0027: \u00271970-01-01T00:00:00.000000\u0027},"},{"line_number":256,"context_line":"            # aborted"},{"line_number":257,"context_line":"            {\u0027name\u0027: \u0027\\x00obj3/%s\u0027 % next(self.id_iter),"},{"line_number":258,"context_line":"             \u0027hash\u0027: \u0027etag\u0027,"},{"line_number":259,"context_line":"             \u0027bytes\u0027: 0,"},{"line_number":260,"context_line":"             \u0027content_type\u0027: \u0027application/x-mpu-aborted\u0027,"}],"source_content_type":"text/x-python","patch_set":5,"id":"d193ebbe_7abcbcbe","line":257,"range":{"start_line":256,"start_character":12,"end_line":257,"end_character":56},"in_reply_to":"13c541ef_01d3f304","updated":"2024-10-01 14:22:39.000000000","message":"those markers are PUT to the manifests container, not the sessions container, to indicate that a manifest may need cleaning up\n\ncaveat: cleaning up after an abort is still pretty much a todo","commit_id":"99daef8f764b410434f2d8f282df9c593989d9a5"}]}
