US 11,928,352 B2
Maintaining the benefit of parallel splitting of ops between primary and secondary storage clusters in synchronous replication while adding support for op logging and early engagement of op logging
Krishna Murthy Chandraiah Setty Narasingarayanapeta, Bangalore (IN); Preetham Shenoy, Bangalore (IN); Divya Kathiresan, Bangalore (IN); and Rakesh Bhargava, Karnataka (IN)
Assigned to NetApp, Inc., San Jose, CA (US)
Filed by NetApp, Inc., San Jose, CA (US)
Filed on Oct. 26, 2021, as Appl. No. 17/510,795.
Claims priority of application No. 202141020578 (IN), filed on May 5, 2021; and application No. 202141020579 (IN), filed on May 5, 2021.
Prior Publication US 2022/0357855 A1, Nov. 10, 2022
Int. Cl. G06F 3/06 (2006.01)
CPC G06F 3/065 (2013.01) [G06F 3/0613 (2013.01); G06F 3/0619 (2013.01); G06F 3/0631 (2013.01); G06F 3/0653 (2013.01); G06F 3/0659 (2013.01); G06F 3/067 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A computer implemented method performed by one or more processing resources of a distributed storage system, the method comprising:
maintaining state information regarding a data replication status for a first storage object of a primary storage cluster with the first storage object being replicated to a second storage object of a secondary storage cluster, wherein the state information facilitates automatic triggering of resynchronization for data replication between the first storage object and the second storage object;
performing persistent inflight tracking of operations (Ops) having a parallel simultaneous dispatching of Ops to a file system of the primary storage cluster and a file system of the secondary storage cluster with a first Op log of the primary storage cluster and a second Op log of the secondary storage cluster;
establishing Op ranges for the first and second Op logs;
comparing the Op range of the first Op log of the primary storage cluster and the Op range of the second Op log of the secondary storage cluster; and
determining a relation between the Op range of the first Op log and the Op range of the second Op log including one of a same range relation, a subset relation, an overlap relation, and a disjoint relation to prevent divergence of Ops in the first and second Op logs and to support the parallel split of the Ops.