When a developer requests mastership of a branch, the branch’s mastership is transferred to the developer’s current replica. When a developer requests mastership of a branch type, mastership of the branch type, along with mastership of all the instances of the branch type that have default mastership, is transferred to the developer’s current replica.
The procedure for requesting mastership is as follows:
For a request for mastership of a branch, authorization checking determines the following:
The process in Step 2 uses the information available from the client host’s current replica. If the sibling replica has transferred mastership of the branch to another replica, but the current replica has not received an update packet with the change, the information at the current replica is not up to date.
For a request for mastership of a branch type, authorization checking determines the following:
The process in Step 2 uses the information available from the client host’s current replica. If the sibling replica has transferred mastership of the branch type to another replica, but the current replica has not received an update packet with the change, the information at the current replica is not up to date.
If the request passes the authorization checks, the process continues with Step 4. (If the developer requests mastership of multiple branches or branch types, error messages are printed for the failures and processing continues.)
The event record for this operation includes the user name of the requesting developer as part of the comment.
At this point, the sibling replica is the only replica in the family that has information about the mastership change. At all other replicas in the family, including the developer’s current replica, the current mastership information shows that the sibling replica masters the branch or branch type. The developer’s current replica is updated when the packet created in Step 5 is imported. The other replicas in the family are not updated until they are synchronized with either of the two replicas that has information about the change.
This packet also contains other changes made since the last synchronization export.
After the update packet is imported successfully at the developer’s current replica, the branch or branch type is mastered by the current replica. Developers using that replica can create new versions on the branch or create new instances of the branch type.
Note: A request for mastership does not initiate a syncreplica –import command. If the replica’s host uses a receipt handler (the recommended procedure), the import begins as soon as the packet arrives. Otherwise, the import occurs at the scheduled import time for the replica or when an administrator imports the packet manually.