-
Notifications
You must be signed in to change notification settings - Fork 149
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Apparent race condition deleting objects results in ENOENT #788
Comments
I think the fix is this:
This should also speed up deletion. Reasoning:
|
vlovich
added a commit
to vlovich/s3rver
that referenced
this issue
Jan 3, 2022
Gracefully handle multiple threads deleting an object at the same time. When two concurrent requests come in to delete the last two remaining objects in a given path, they'll be racing each other trying to delete and cause a spurious deletion failure for one of them. Fixes jamhall#788
vlovich
added a commit
to vlovich/s3rver
that referenced
this issue
Apr 20, 2022
Gracefully handle multiple threads deleting an object at the same time. When two concurrent requests come in to delete the last two remaining objects in a given path, they'll be racing each other trying to delete and cause a spurious deletion failure for one of them. Fixes jamhall#788
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
If I issue concurrent delete requests for objects that share a path, then the operation fails with a 500. Here's a sample typescript test using jest and the aws-sdk client library.
I think the root cause is that both are trying to do an rmdir up the chain of directories but they end up conflicting. Maybe
rmdir
should swallow ENOENT exceptions?The text was updated successfully, but these errors were encountered: