Shared type objects
Instances of a shared type object can be created in multiple replicas.
- The instance restrictions (if any) on the type object must allow creation of the instance.
- For all objects except versions and branches, the current replica must
master the object to which the instance is being attached.
- For a version, the current replica must master the branch on which the
version is located. Note: When you apply a label whose instance restriction is one per branch, your current replica must master the branch. When you apply a label whose instance restriction is one per element, your current replica must master the element.
- For a branch with default mastership, the current replica must master the branch type.
- For a branch with explicit mastership, the current replica must master the branch object.
- For a version, the current replica must master the branch on which the
version is located.
Restrictions that prevent instance creation in an unreplicated VOB also prevent instance creation in a replica; for example, if there is a lock on the type object, instance creation fails. However, because locks are not replicated (except for locks created with –obsolete), a lock on a shared type object in one replica does not prevent instance creation in another replica.
A shared type cannot be converted to unshared. Instance restrictions (for example, once-per-branch use of a label type) for a shared type object cannot be changed.