US 11,860,900 B2
Log-based distributed transaction management
Upendra Bhalchandra Shevade, Herndon, VA (US); Gregory Rustin Rogers, Reston, VA (US); and Christopher Ian Hendrie, Centreville, VA (US)
Assigned to Amazon Technologies, Inc., Seattle, WA (US)
Filed by Amazon Technologies, Inc., Seattle, WA (US)
Filed on Apr. 15, 2022, as Appl. No. 17/722,218.
Application 17/722,218 is a division of application No. 15/904,590, filed on Feb. 26, 2018, granted, now 11,308,127.
Application 15/904,590 is a continuation of application No. 14/657,043, filed on Mar. 13, 2015, granted, now 9,904,722, issued on Feb. 27, 2018.
Prior Publication US 2022/0245174 A1, Aug. 4, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 16/28 (2019.01); G06F 16/23 (2019.01)
CPC G06F 16/283 (2019.01) [G06F 16/2358 (2019.01)] 20 Claims
OG exemplary drawing
 
1. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors:
in response to receiving a voting transition request indicating a particular write operation directed to a data store,
determine, based on an examination of a read set indicated in the voting transition request and at least a subset of entries of a persistent log, that the voting transition request is to be conditionally accepted pending a receipt of a terminating transition request corresponding to the voting transition request; and
store a particular entry in the persistent log indicative of conditional acceptance of the particular write operation of the voting transition request;
in response to receiving, prior to the receipt of the terminating transition request, a single-data-store transaction request,
determine, based on a detection of a read-write conflict between a read set indicated in the single-data- store transaction request and at least the particular entry, that the single-data- store transaction request is to be rejected; and
in response to receiving the terminating transition request, determine whether to modify the persistent log to indicate that the particular write operation is to be committed.