Indirect synchronization

If a family includes more than two replicas, synchronization can occur indirectly. A replica can include non-local changes in update packets.

For example, if the boston_hub replica exchanges updates with the sanfran_hub and bangalore replicas, it sends bangalore oplog entries that it had received previously from sanfran_hub. These entries may or may not bring replica bangalore up-to-date on sanfran_hub’s changes. (An update sent from sanfran_hub to bangalore does bring bangalore up-to-date.)

Note: If a replica does not receive packets directly from some replicas in its family, its rows for those replicas may contain zeros. This is expected behavior.

Three-row epoch number matrix at replica boston_hub shows replica boston_hub’s epoch number matrix.

Table 1. Three-row epoch number matrix at replica boston_hub
Operations originated at boston_hub Operations originated at bangalore Operations originated at sanfran_hub
boston_hub’s record of its own state 950 653 504
boston_hub’s estimate of sanfran_hub’s state 912 653 504
boston_hub’s estimate of bangalore’s state 709 653 221
The contents of this matrix are reported by the lsepoch command:
multitool lsepoch 
For VOB replica "/vobs/dev":
Oplog IDs for row "boston_hub" (@ minuteman):
 oid:87f6265f.72d911d4.a5cd.00:01:80:c0:4b:e7=950    (boston_hub) 
 oid:7ag3b0bc.defa11d0.ba57.00:01:72:73:3c:94=653    (bangalore) 
 oid:0eaa6fc3.737d11d4.adbe.00:01:80:c0:4b:e7=504    (sanfran_hub) 
Oplog IDs for row "bangalore" (@ ramohalli):
 oid:87f6265f.72d911d4.a5cd.00:01:80:c0:4b:e7=709    (boston_hub) 
 oid:7ag3b0bc.defa11d0.ba57.00:01:72:73:3c:94=653    (bangalore) 
 oid:0eaa6fc3.737d11d4.adbe.00:01:80:c0:4b:e7=221    (sanfran_hub) 
Oplog IDs for row "sanfran_hub" (@ goldengate):
 oid:87f6265f.72d911d4.a5cd.00:01:80:c0:4b:e7=912    (boston_hub) 
 oid:7ag3b0bc.defa11d0.ba57.00:01:72:73:3c:94=653    (bangalore) 
 oid:0eaa6fc3.737d11d4.adbe.00:01:80:c0:4b:e7=504    (sanfran_hub) 
multiutil lsepoch -clan telecomm -site boston_hub -family PRODA -user susan -password passwd
Multiutil: Estimates of the epochs from each site replayed at site ’boston_hub’ (@minuteman):
boston_hub: 950
sanfran_hub: 504
bangalore: 653
Multiutil: Estimates of the epochs from each site replayed at site ’sanfran_hub’ (@goldengate):
boston_hub: 912
sanfran_hub: 504
bangalore: 653
Multiutil: Estimates of the epochs from each site replayed at site ’bangalore’ (@ramohalli):
boston_hub: 709
sanfran_hub: 221
bangalore: 653
A syncreplica –export command at the Boston site uses this matrix to export an update for the bangalore replica:
  1. At the boston_hub replica, there are 950 local operations (the number in upper left corner of matrix), and the estimate is that the bangalore replica has imported all operations through oplog ID 709 (the number in the lower left corner).
  2. For operations that originated at the sanfran_hub replica, boston_hub has imported all operations up to oplog ID 504 and estimates that bangalore has imported all operations through oplog ID 221.
  3. The update packet that boston_hub sends to bangalore includes boston_hub operations 710-950 and sanfran_hub operations 222-504. The output of an lsepoch command at the boston_hub replica now looks like this:
    
    multitool lsepoch 
    For VOB replica "/vobs/dev":
    Oplog IDs for row "boston_hub" (@ minuteman):
     oid:87f6265f.72d911d4.a5cd.00:01:80:c0:4b:e7=950    (boston_hub) 
     oid:7ag3b0bc.defa11d0.ba57.00:01:72:73:3c:94=653    (bangalore) 
     oid:0eaa6fc3.737d11d4.adbe.00:01:80:c0:4b:e7=504    (sanfran_hub) 
    Oplog IDs for row "bangalore" (@ sushi):
     oid:87f6265f.72d911d4.a5cd.00:01:80:c0:4b:e7=950    (boston_hub) 
     oid:7ag3b0bc.defa11d0.ba57.00:01:72:73:3c:94=653    (bangalore) 
     oid:0eaa6fc3.737d11d4.adbe.00:01:80:c0:4b:e7=504    (sanfran_hub) 
    Oplog IDs for row "sanfran_hub" (@ goldengate):
     oid:87f6265f.72d911d4.a5cd.00:01:80:c0:4b:e7=912    (boston_hub) 
     oid:7ag3b0bc.defa11d0.ba57.00:01:72:73:3c:94=653    (bangalore) 
     oid:0eaa6fc3.737d11d4.adbe.00:01:80:c0:4b:e7=504    (sanfran_hub) 
    
    multiutil lsepoch -clan telecomm -site boston_hub -family PRODA -user susan -password passwd 
    Multiutil: Estimates of the epochs from each site replayed at site ’boston_hub’ (@minuteman):
    boston_hub: 950
    sanfran_hub: 504
    bangalore: 653
    Multiutil: Estimates of the epochs from each site replayed at site ’sanfran_hub’ (@goldengate):
    boston_hub: 912
    sanfran_hub: 504
    bangalore: 653
    Multiutil: Estimates of the epochs from each site replayed at site ’bangalore’ (@ramohalli):
    boston_hub: 950
    sanfran_hub: 504
    bangalore: 653