Lost packet recovery

This topic provides information about recovering from lost packets both at the receiving and sending sites when delivery of the packet has failed.

There are several circumstances in which an update packet is generated but is never applied at one or more of its destinations:
  • The packet is stored on media that has been destroyed or is not readable at the destination host.
  • A packet file is lost when a hard disk fails.
  • The packet is intact, but cannot be applied because another packet has been lost.

The syncreplica –export command assumes successful delivery of the update packet it generates. For example, when replica boston_hub sends an update to replica sanfran_hub, the syncreplica command assumes that the operations originating at boston_hub are imported to the sanfran_hub replica. For simplicity, this example does not reflect the fact that the update packet can also contain operations that originated at other replicas in the family.

If the packet is lost, boston_hub must reset its estimate of the state of replica sanfran_hub. After this correction is made, the next update packet sent from boston_hub to sanfran_hub contains the operations sanfran_hub needs.

To reset the epoch row:

  1. At the receiving replica, sanfran_hub, display the replica’s epoch number matrix:
    multiutil lsepoch -clan telecomm -site sanfran_hub -family PRODA 
    -user jcole -p secret sanfran_hub
    
    Multiutil: Estimates of the epochs from each site replayed at site
    ’sanfran_hub’ (@goldengate):
    
    BANGALORE: 950
    BOSTON_HUB: 1300
    SANFRAN_HUB: 2000
    
  2. Use this output in a chepoch command at the sending replica, boston_hub. This sets the boston_hub epoch number estimates for sanfran_hub to the actual values of the sanfran_hub epoch number matrix:
    multiutil chepoch -clan telecomm -site boston_hub -family PRODA
    -user bostonadmin -password secret sanfran_hub bangalore=950 
    boston_hub=1300 sanfran_hub=2000
    
    Multiutil: Change the estimate for the epochs of site ‘bangalore’
    replayed at site ‘sanfran_hub’ to 950 [yes|NO|quit]yes
    
    Multiutil: Change the estimate for the epochs of site ‘boston_hub’ 
    replayed at site ‘sanfran_hub’ to 1300 [yes|NO|quit]yes
    
    Multiutil: Change the estimate for the epochs of site ‘sanfran_hub’ 
    replayed at site ‘sanfran_hub’ to 2000 [yes|NO|quit]yes
    
    Multiutil: 3 epoch estimate(s) for site ‘sanfran_hub’ successfully 
    changed; 0 failures.
    
    Multiutil: Estimates of the epochs from each site replayed at site 
    ‘sanfran_hub’ (@goldengate):
    
    BANGALORE: 950
    BOSTON_HUB: 1300
    SANFRAN_HUB: 2000