3.2.4.3 Deployments Synchronization
This step is applicable only if the DSS is configured as a replica server. The DSS gets the list of target groups and deployments from the USS during this step.
The DSS MUST synchronize the target groups and deployments from the USS as follows:
Compose and send a GetDeployments request to the USS that is initialized as follows:
Last Cookie from the Parent USS State is copied to the request message.
Last Deployment Anchor from the Parent USS State is copied to the request message.
Last Sync Anchor from the Parent USS State is copied to the request message.
Store the Anchor in the returned response in the Parent USS State as Last Deployment Anchor.
Update the TargetGroup Table using the Groups array returned in the response:
Update the target group entry if it already exists in the table.
Add a new entry into the TargetGroup Table if it does not exist.
Delete the target group entry in the table if it does not exist in the Groups returned. All deployments in the Deployment Table that refer to the deleted target group MUST also be deleted.
For each entry in the DeadDeployments array in the response, locate the entry in the Deployment Table and set the Dead flag to TRUE.
For each entry in the Deployments array in the response:
Update the Deployment entry if it already exists in the Deployment Table.
Add the Deployment entry if it does not exist in the Deployment Table.
For each entry in the HiddenUpdates array of the response locate the update in the Revision Table and set the Hidden flag to TRUE.
Set the Accepted flag to TRUE in the EULAs Table for every entry found in the AcceptedEulas array in the response.
Add a new entry to the Synchronization History Table with the LastSyncTime value set to the current time.