-
-
Notifications
You must be signed in to change notification settings - Fork 328
asyncgroup.delitem silently fails if the key is missing #2967
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
Comments
Sometimes the current behavior is useful. The HTTP protocol, and many others, define deletes as idempotent, so deleting twice, sequentially, an existing key should result in the same response each time. In a sense, when you delete something that is not there, the server is not wrong if it responds with "it was deleted". This idempotency property is particularly useful in concurrent workflows. I don't oppose to changing the behavior, but we should make sure it's an improvement. |
you raise a good point about the advantages of idempotent deletes. I was expecting that people used to python dict-style semantics would consider it surprising that |
Zarr 2 raised a KeyError and I'll argue that we should go back to that behavior. If you want idempotent deletes from the dict-like interface, use |
Are there any Zarr stores that couldn't implement this behavior? For example, because of the property I mentioned above, an HTTP store probably cannot fail on missing key deletes efficiently (or consistently). |
Today, Zarr's HTTP stores don't support writes or deletes of any kind. |
this should raise a keyerror. instead it silently does nothing.
The text was updated successfully, but these errors were encountered: