Conditional storage object deletion
First Claim
1. A system, comprising one or more computing devices configured to:
- implement a distributed multi-tenant storage service, in which a protocol based at least in part on respective sequence numbers associated with modification operations is used to resolve update conflicts associated with storage objects that are replicated;
store, as part of a conditional deletion record associated with a key identifying a particular storage object of the storage service, wherein the particular storage object has been identified as a candidate for removal from the storage service, a deletion sequence number derived at least in part from a particular modification sequence number associated with the particular storage object;
determine, in accordance with the protocol, whether an additional modification sequence number larger than the deletion sequence number has been generated in response to a client request to store a value associated with the key;
in response to a determination that an additional modification sequence number has been generated in response to a client request, cancel the removal of the particular storage object from the storage service.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods and apparatus for conditional deletes of storage objects are disclosed. A storage medium comprises program instructions that when executed, implement a metadata node of a storage service in which a protocol based on sequence numbers is used to resolve update conflicts. The instructions store, as part of a conditional deletion record associated with a key of a particular storage object identified as a deletion candidate, a deletion sequence number derived from a particular modification sequence number of the object. In accordance with the protocol, the instructions determine whether an additional modification sequence number larger than the deletion sequence number has been generated in response to an operation associated with the key. If such an additional sequence number has been generated, the deletion of the storage object is canceled.
162 Citations
25 Claims
-
1. A system, comprising one or more computing devices configured to:
-
implement a distributed multi-tenant storage service, in which a protocol based at least in part on respective sequence numbers associated with modification operations is used to resolve update conflicts associated with storage objects that are replicated; store, as part of a conditional deletion record associated with a key identifying a particular storage object of the storage service, wherein the particular storage object has been identified as a candidate for removal from the storage service, a deletion sequence number derived at least in part from a particular modification sequence number associated with the particular storage object; determine, in accordance with the protocol, whether an additional modification sequence number larger than the deletion sequence number has been generated in response to a client request to store a value associated with the key; in response to a determination that an additional modification sequence number has been generated in response to a client request, cancel the removal of the particular storage object from the storage service. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method, comprising:
-
implementing a distributed multi-tenant storage service, in which a protocol based at least in part on respective sequence numbers associated with modification operations is used to resolve update conflicts associated with storage objects of the storage service; storing, as part of a conditional deletion record associated with a key identifying a particular storage object of the storage service, wherein the particular storage object has been identified as a candidate for removal from the storage service, a deletion sequence number derived at least in part from a particular modification sequence number associated with the particular storage object; determining, in accordance with the protocol, whether an additional modification sequence number larger than the deletion sequence number has been generated in response to an operation associated with the key; in response to determining that an additional modification sequence number has been generated, canceling the removal of the particular storage object from the storage service. - View Dependent Claims (7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A non-transitory computer-accessible storage medium storing program instructions that when executed on one or more processors:
-
implement a metadata node of a plurality of metadata nodes of a distributed multi-tenant storage service in which a protocol based at least in part on respective sequence numbers associated with modification operations is used to resolve update conflicts associated with storage objects of the storage service; store, as part of a conditional deletion record associated with a key identifying a particular storage object of the storage service, wherein the particular storage object has been identified as a candidate for removal from the storage service, a deletion sequence number derived at least in part from a particular modification sequence number associated with the particular storage object; determine, in accordance with the protocol, whether an additional modification sequence number larger than the deletion sequence number has been generated in response to an operation associated with the key; and in response to a determination that an additional modification sequence number has been generated, cancel the removal of the particular storage object from the storage service. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification