Overview
The « DDA replication » module provides a simple interface to create and run replication tasks.
Replication tasks allow the distribution of DDA contents from one to multiple other cells. This is useful in numerous scenarios, such as :
- Synch up data across multiple cells that require the same DDA contents
- Synch between test/acceptance/production environments.
How it works
Replication tasks are defined in DDA table (ReplicationTasks) in a given cell.
When a replication task is run, a perl script is executed to perform the actual DDA replication, using a combination of mquery and mposter commands.
The script can also be run directly from the command line.
At the end of the replication, a row can optionally be added to a second table DDAReplicationLog for logging purposes.
The following fields are found in the “ReplicationTasks” table:
Field Name |
Type |
Description |
TaskName |
String |
The unique name of the replication task. |
SourceCell |
String |
The name of the source cell, that contains the DDA to be replicated. |
SourceDDAs |
List of String |
The DDAs that must be replicated from SourceCell |
TargetCells |
List of String |
The name of the target cell(s) |
TargetDDAs |
Calendar name |
The name of the DDAs on the target cell(s). If the list is empty, the assumption is that the DDA names are identical across source and destination cells |
ReplicationType |
Enumeration |
Determines the detailed behavior of the replication. Merge – Source Priority : The contents of the source DDA is merged into the target DDA. Additional source DDA entries will be added. If the entry exists in the target DDA, its content will be replaced by the contents of the source DDA entry. Merge – Target Priority : The contents of the source DDA is merged into the target DDA. Additional source DDA entries will be added. If the entry exists in the target DDA, its content will NOT be replaced by the contents of the source DDA entry. Cleanup before import : The contents of the target DDA is entirely deleted before the contents of the source DDA is imported. Smart Cleanup – Source Priority : Same as “Merge – Source Priority”, but after import, entries in the target DDA that do not exist on the source are deleted. Smart Cleanup – Target Priority : Same as “Merge – Source Priority”, but after import, entries in the target DDA that do not exist on the source are deleted. i The “mc_udid” of the source data is preserved (by design) for “merge” and “cleanup” types, but NOT for “Smart Cleanup” types. If you need to preserve the mc_udid (e.g. in the context of service model replications), use a “merge” replication type. |
BackupBeforeReplication |
YES/NO |
Indicates if a backup of the source and destination DDA is taken before replication. |
FilterClause |
MRL “where” clause |
Can be used to specify only a subset of data to replicate. The filter clause must a valid MRL expression used after the mquery “-w” switch. EG $THIS.active == YES $THIS.name has_prefix test |
ExcludedSlots |
Comma separated slot names to exclude from replication |
Can be used to exclude some slots from the replication. Useful e.g. when replicating published CI. E.G. ExcludeSlots=HomeCell
|