You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
When an operation involving uploading or deleting images fails midway through, the database transaction is correctly rolled back, but S3 is left in an awkward intermediate state.
To Reproduce
Create an exhibit with several artifacts (POST /exhibit)
Edit that exhibit (POST /exhibit/{id})
Make the exhibit fail at some point partway through (e.g. by stopping the database, or referencing a nonexistent artifact)
Expected behavior
Everything should be reverted back to how it was before the transaction
Actual behavior
"Random" artifacts will have their S3-linked images removed
Additional context
S3 doesn't actually have transaction support, so this will definitely be a challenge. We might end up having to get rid of the bulk exhibit-editing (images in S3 that aren't referenced don't hurt anything, and can be cleaned up easily; prematurely deleted images are no longer available and cause issues). We might also be able to rig something up with S3's versioning.
The text was updated successfully, but these errors were encountered:
Description
When an operation involving uploading or deleting images fails midway through, the database transaction is correctly rolled back, but S3 is left in an awkward intermediate state.
To Reproduce
POST /exhibit
)POST /exhibit/{id}
)Expected behavior
Everything should be reverted back to how it was before the transaction
Actual behavior
"Random" artifacts will have their S3-linked images removed
Additional context
S3 doesn't actually have transaction support, so this will definitely be a challenge. We might end up having to get rid of the bulk exhibit-editing (images in S3 that aren't referenced don't hurt anything, and can be cleaned up easily; prematurely deleted images are no longer available and cause issues). We might also be able to rig something up with S3's versioning.
The text was updated successfully, but these errors were encountered: