×

Atomic writes for multiple-extent operations

  • US 9,519,510 B2
  • Filed: 03/31/2014
  • Issued: 12/13/2016
  • Est. Priority Date: 03/31/2014
  • Status: Active Grant
First Claim
Patent Images

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; and

    transmit 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; and

    initiate a propagation of a transaction commit message to other nodes of the chain; and

    in 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; and

    release the lock on the physical data page.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×