主权项 |
1. A system, comprising:
one or more computing devices configured to:
select a particular component of a multi-tenant file storage service as a coordinator of a distributed transaction;generate, at the coordinator, a transaction preparation message comprising at least: (a) an indication of a respective proposed page modification to be performed at each page of a set of physical data pages managed by the service, and (b) an order in which respective page-level commit decisions associated with the proposed page modifications are to be made;propagate the transaction preparation message sequentially among nodes of a storage node chain collectively storing the set of physical data pages, wherein the storage node chain ends at a decider node designated by the coordinator as responsible for a decision to commit the distributed transaction;in response to receiving the transaction preparation message at a particular storage node of the chain other than the decider node,
store, at a persistent repository, subsequent to a commit analysis of a proposed modification to a physical data page of the particular storage node, a record of an intent to perform the proposed modification, wherein the commit analysis includes an examination of a logical timestamp corresponding to a read of the physical data page;lock the physical data page of the particular storage node; andtransmit the transaction preparation message to a next storage node of the storage node chain;in response to receiving the transaction preparation message at the decider node,
determine, subsequent to a commit analysis of a proposed modification to a physical data page of the decider node, that the distributed transaction is to be committed;initiate the proposed modification to the physical data page of decider node; andinitiate a propagation of a transaction commit message to other nodes of the chain; andin response to receiving the transaction commit message at a particular storage node of the chain,
initiate a proposed modification corresponding to the record of the intent to commit; andrelease the lock on the physical data page. |