PutObject: better cleanup when request is interrupted in the middle #462

Merged
lx merged 2 commits from interrupted-cleanup into main 2023-01-04 14:43:45 +00:00
Owner
  • PutObject: if request is canceled, an upload in progress is marked as Aborted in all cases using Drop
  • Block manager: if a block save request is canceled, the .tmp file is removed if it existed

For multipart-related calls:

  • Given that Garage does not implement the full multipart upload, i.e. it does not support retrying the upload of a single part (which defeats the purpose of multipart upload, ik, we'll fix it for v0.9), we have nothing better to do than abort the entire uplaod as soon as the upload of one part fails
  • However, marking the upload as aborted automatically in that case kind of violates the S3 spec as well
  • In conclusion, do we prefer exposing to the user uploads in progress which cannot be continued (the only choice is to abort them explicitly), or exposing them to having their uploads marked aborted automatically?
- [x] PutObject: if request is canceled, an upload in progress is marked as Aborted in all cases using `Drop` - [x] Block manager: if a block save request is canceled, the `.tmp` file is removed if it existed For multipart-related calls: - Given that Garage does not implement the full multipart upload, i.e. it does not support retrying the upload of a single part (which defeats the purpose of multipart upload, ik, we'll fix it for v0.9), we have nothing better to do than abort the entire uplaod as soon as the upload of one part fails - However, marking the upload as aborted automatically in that case kind of violates the S3 spec as well - In conclusion, do we prefer exposing to the user uploads in progress which cannot be continued (the only choice is to abort them explicitly), or exposing them to having their uploads marked aborted automatically?
lx force-pushed interrupted-cleanup from cf06398e29 to 0650a43cf1 2023-01-03 16:05:25 +00:00 Compare
lx changed title from PutObject: better cleanup on Drop (incl. when request is interrupted in the middle) to PutObject: better cleanup when request is interrupted in the middle 2023-01-03 16:29:51 +00:00
lx force-pushed interrupted-cleanup from 908f24db76 to 936b6cb563 2023-01-03 16:34:32 +00:00 Compare
lx merged commit 02e8eb167e into main 2023-01-04 14:43:45 +00:00
lx deleted branch interrupted-cleanup 2023-01-04 14:43:46 +00:00
Sign in to join this conversation.
No description provided.