Overlapping write detection and processing for sync replication
First Claim
1. A method comprising:
- replicating, by a first node, a write request to modify data stored by the first node as a replicated write request targeting second data stored by a second node based upon a sync mapping indicating that the write request is to be replicated to the second node;
determining, by the first node, that the replicated write request overlaps a pending replicated write request pending at the second node based upon the replicated write request and the pending replicated write request targeting a same portion of a data range of the second data; and
suspending execution of the write request at the first node upon the data stored by the first node until completion of the pending replicated write request at the second node upon the second data.
0 Assignments
0 Petitions
Accused Products
Abstract
A primary write request that is to modify a primary portion of primary data stored in a primary storage node is received. The primary write request is to be replicated to create a current secondary write request. The current secondary write request is to modify a current secondary portion of secondary data that is stored in a secondary storage node. A current data range of the current secondary portion is determined. A determination is made of whether a previous secondary write request is in process of modifying a previous data range that at least partially overlaps with a current data range of the current secondary portion. Execution of the primary write request is suspended, until the previous secondary write request has completed updating the secondary storage node.
17 Citations
20 Claims
-
1. A method comprising:
-
replicating, by a first node, a write request to modify data stored by the first node as a replicated write request targeting second data stored by a second node based upon a sync mapping indicating that the write request is to be replicated to the second node; determining, by the first node, that the replicated write request overlaps a pending replicated write request pending at the second node based upon the replicated write request and the pending replicated write request targeting a same portion of a data range of the second data; and suspending execution of the write request at the first node upon the data stored by the first node until completion of the pending replicated write request at the second node upon the second data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A non-transitory machine readable medium comprising instructions for performing a method, which when executed by a machine, causes the machine to:
-
replicate, by a first node, a write request to modify data stored by the first node as a replicated write request targeting second data stored by a second node based upon a sync mapping indicating that the write request is to be replicated to the second node; determine, by the first node, that the replicated write request overlaps a pending replicated write request pending at the second node based upon the replicated write request and the pending replicated write request targeting a same portion of a data range of the second data; and suspend execution of the write request at the first node upon the data stored by the first node until completion of the pending replicated write request at the second node upon the second data. - View Dependent Claims (14, 15, 16, 17)
-
-
18. A computing device comprising:
-
a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method; and a processor coupled to the memory, the processor configured to execute the machine executable code to cause the processor to; replicate, by a first node, a write request to modify data stored by the first node as a replicated write request targeting second data stored by a second node based upon a sync mapping indicating that the write request is to be replicated to the second node; determine, by the first node, that the replicated write request overlaps a pending replicated write request pending at the second node based upon the replicated write request and the pending replicated write request targeting a same portion of a data range of the second data; and suspend execution of the write request at the first node upon the data stored by the first node until completion of the pending replicated write request at the second node upon the second data. - View Dependent Claims (19, 20)
-
Specification