A computer-implemented method for cross cluster replication comprising: periodically requesting, by a follower cluster, and based on a follower global checkpoint of the follower cluster, history from a leader cluster, the history including at least one operation and associated sequence number that the follower cluster has not performed, wherein each operation of the at least one operation is a change to data in a primary shard of the leader cluster; receiving, by the follower cluster, an increment of history and a leader global checkpoint from the leader cluster, wherein the increment of history is a certain number of sequence numbers and associated operations immediately following a starting point specified by the follower cluster in the requested history; when a difference between the leader global checkpoint and the follower global checkpoint exceeds a user-defined value, wherein the user-defined value is a function of the increment of history which the leader cluster provides in response to the request, concurrently making, by the follower cluster, multiple additional requests for history from the leader cluster and performing, by the follower cluster, the operations contained in the multiple additional requests for history, until the difference between the leader global checkpoint and the follower global checkpoint is less than the increment of history, wherein each of the additional requests for history requests a certain number of operations having sequence numbers according to the latest received increment of the history; and when a difference between the leader global checkpoint and the follower global checkpoint is less than the user-defined value, executing, by the follower cluster, the at least one operation, the at least one operation changing data in a primary shard of the follower cluster, such that an index of the follower cluster replicates an index of the leader cluster; wherein the leader global checkpoint is a highest sequence number for which all lower sequence numbers have been processed by the leader cluster; and wherein the follower global checkpoint is a highest sequence number for which all lower sequence numbers have been processed by the follower cluster. periodically requesting, by a follower cluster, and based on a follower global checkpoint of the follower cluster, history from a leader cluster, the history including at least one operation and associated sequence number that the follower cluster has not performed, wherein each operation of the at least one operation is a change to data in a primary shard of the leader cluster; receiving, by the follower cluster, an increment of history and a leader global checkpoint from the leader cluster, wherein the increment of history is a certain number of sequence numbers and associated operations immediately following a starting point specified by the follower cluster in the requested history; when a difference between the leader global checkpoint and the follower global checkpoint exceeds a user-defined value, wherein the user-defined value is a function of the increment of history which the leader cluster provides in response to the request, concurrently making, by the follower cluster, multiple additional requests for history from the leader cluster and performing, by the follower cluster, the operations contained in the multiple additional requests for history, until the difference between the leader global checkpoint and the follower global checkpoint is less than the increment of history, wherein each of the additional requests for history requests a certain number of operations having sequence numbers according to the latest received increment of the history; and when a difference between the leader global checkpoint and the follower global checkpoint is less than the user-defined value, executing, by the follower cluster, the at least one operation, the at least one operation changing data in a primary shard of the follower cluster, such that an index of the follower cluster replicates an index of the leader cluster; wherein the leader global checkpoint is a highest sequence number for which all lower sequence numbers have been processed by the leader cluster; and wherein the follower global checkpoint is a highest sequence number for which all lower sequence numbers have been processed by the follower cluster.