Patent ID: 9020891
Filing Date: 2015-04-28
Classification: G06F

Abstract:
1. A non-transitory computer-readable medium embodying a program executable in a computing device, the program comprising: code that obtains a first update to a data item that is to be applied to a distributed data store that employs single-master replication, the distributed data store including a primary data store and a plurality of secondary data stores that replicate the primary data store, the code that obtains the first update further acquiring a lock relative to the data item; code that loads the data item from the primary data store into a cache when the lock is held, thereby producing a cached version of the data item; code that verifies whether a condition associated with the first update is met based at least in part on the cached version of the data item when the lock is held; code that applies the first update to the cached version of the data item when the lock is held and then releases the lock; code that replicates the first update to the secondary data stores when the lock is released; code that determines that the first update has been durably persisted in the distributed data store when a replication confirmation for the first update has been obtained from at least one of the secondary data stores; code that obtains a second update to the data item and acquires the lock; code that verifies whether a condition associated with the second update is met based at least in part on the cached version of the data item when the lock is held; code that applies the second update to the cached version of the data item when the lock is held and then releases the lock; code that replicates the second update to the secondary data stores when the lock is released; and code that determines that the second update has been durably persisted in the distributed data store when a replication confirmation for the second update has been obtained from at least one of the secondary data stores.