Sequenced extension operations on a data store
AssigneeAmazon Technologies, Inc.
InventorsKristina Kraemer Brenneman, Norbert Paul Kusters, Jianhua Fan, Danny Wei
Life of this patent
Estimating the term…
Abstract
A data storage system stores information indicating a determined sequence for performing operations on a data store. A lock is acquired on a portion of the data store. It is determined that performing the operations comprises performing at least one additional operation on the data store. Uncommitted changes implied by the operations are stored in a transaction buffer according to the determined sequence. Changes implied by the additional operation are determined based on a reentrant call to a data store interface. The logged sequence of changes is applied to the data store and the lock is released.
Claims20
A system, comprising:
- at least one processor;
- and
- at least one memory that stores processor-executable instructions that, in response to being executed by the at least one processor, cause the system to at least:
- obtain one or more requests to perform a plurality operations on a data store;
- store information indicative of a sequence for performing the plurality of operations;
- acquire a lock on a portion of the data store;
- determine that a first operation, of the plurality of operations, is associated with an additional operation on the data store;
- append, to an ordered buffer maintained in a volatile memory, changes indicated by the first operation and the additional operation, wherein the changes are appended to the ordered buffer in accordance with the sequence, and wherein at least one change associated with the additional operation is determined based at least in part on a reentrant call to a data store interface;
- apply the changes appended to the ordered buffer to the data store;
- and
- release the lock.
A computer-implemented method, comprising:
- storing information indicative of a sequence for performing a first operation of a plurality of operations on a data store;
- acquiring a lock on at least a portion of the data store;
- determining that performing the first operation comprises performing an additional operation on the data store;
- storing, in an order in accordance with the sequence, data indicative of uncommitted changes to the data store, wherein the uncommitted changes are based on the first and additional operations, and wherein the uncommitted changes based on the additional operation are determined based at least in part on a reentrant call to a data store interface;
- and
- committing changes to the data store made while the at least a portion of the data store was locked.
A non-transitory computer-readable storage medium having stored thereon executable instructions that, as a result of being executed by one or more processors of a computer system, cause the computer system to at least:
- store information indicative of a sequence for performing a first operation of a plurality of operations on a data store;
- form a record indicative of a pending transaction;
- determine that performing the first operation comprises performing an additional operation on the data store;
- perform the first and additional operations in accordance with the sequence for performing the first operation, wherein changes to the data store based on the first and additional operations are initially uncommitted, and wherein changes to the data store based on the additional operation are determined based on a reentrant call comprising the record indicative of the pending transaction as a parameter;
- and
- commit changes to the data store made during the pending transaction.
Dependencies are inferred from the claim text.