System and method for logical deletion of stored data objects
First Claim
1. A system, comprising:
- a data store that stores a plurality of objects, wherein each of the plurality of objects comprises a user key and a version identifier, and wherein at least one of the plurality of objects further comprises object data;
one or more processors;
a memory coupled to the one or more processors and storing program instructions that when executed by the one or more processors cause the one or more processors to perform;
receiving a request to retrieve an object from the data store, wherein the request specifies a user key and targets a particular object version; and
in response to receiving the request to retrieve the object;
determining whether the particular object version is a delete marker object comprising the specified user key, wherein the presence of a delete marker object comprising the specified user key in the data store indicates a prior logical deletion of the specified user key from the data store; and
in response to determining that the particular object version is a delete marker object comprising the specified user key;
returning an error indication; and
refraining from returning object data contained in the at least one of the plurality of objects stored in the data store that further comprises object data.
0 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for providing object versioning in a storage system may support the logical deletion of stored objects. In response to a delete operation specifying both a user key and a version identifier, the storage system may permanently delete the specified version of an object having the specified key. In response to a delete operation specifying a user key, but not a version identifier, the storage system may create a delete marker object that does not contain object data, and may generate a new version identifier for the delete marker. The delete marker may be stored as the latest object version of the user key, and may be addressable in the storage system using a composite key comprising the user key and the new version identifier. Subsequent attempts to retrieve the user key without specifying a version identifier may return an error, although the object was not actually deleted.
-
Citations
17 Claims
-
1. A system, comprising:
-
a data store that stores a plurality of objects, wherein each of the plurality of objects comprises a user key and a version identifier, and wherein at least one of the plurality of objects further comprises object data; one or more processors; a memory coupled to the one or more processors and storing program instructions that when executed by the one or more processors cause the one or more processors to perform; receiving a request to retrieve an object from the data store, wherein the request specifies a user key and targets a particular object version; and in response to receiving the request to retrieve the object; determining whether the particular object version is a delete marker object comprising the specified user key, wherein the presence of a delete marker object comprising the specified user key in the data store indicates a prior logical deletion of the specified user key from the data store; and in response to determining that the particular object version is a delete marker object comprising the specified user key; returning an error indication; and refraining from returning object data contained in the at least one of the plurality of objects stored in the data store that further comprises object data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A non-transitory, computer-readable storage medium storing program instructions that when executed on one or more computers cause the one or more computer to perform:
-
receiving a request to perform an operation to list user keys of objects stored in a data store on one or more of the one or more computers, wherein the data store stores a plurality of objects, wherein each of the plurality of objects comprises a user key and a version identifier that collectively identify the object as a unique object version, wherein at least two or more of the plurality of objects comprise a same user key and different version identifiers, and wherein the presence of a delete marker object comprising a particular user key in the data store indicates a prior logical deletion of the particular user key from the data store; and in response to receiving the request to perform the operation to list user keys; returning a list of user keys of object versions stored in the data store, wherein the list does not include a user key for which the corresponding latest object version is delete marker object in the data sore even if the data store includes an earlier object version having the same user key as the delete market object. - View Dependent Claims (12, 13, 14, 15, 16, 17)
-
Specification