PreviousNext

Skulk Operation

The skulk operation is a periodic distribution of a collection of updates. Its main functions are to ensure that replicas receive changes that may not have reached them during an update propagation and to remove outdated information from the namespace.

For hierarchical cells, the skulk updates the child pointers in the parent cell and the up pointers in the child cell (which point to the parent) so they reflect the updated information.

Skulk maintenance functions include the following:

· Removing soft links that have expired; you can specify an expiration time when you create a soft link.

· Maintaining child pointers, which includes removing pointers to directories that were deleted.

· Removing information about deleted replicas.

CDS skulks each directory individually. During a skulk, CDS collects all changes that were made to the master replica since the last successful skulk and then disseminates the changes to all read-only replicas of the directory. All replicas must be available for a skulk to be considered successful. If CDS cannot contact a replica, it continues making changes in the replicas that it can contact, and generates an event to notify you of the replica or replicas it could not update. CDS then periodically reattempts the skulk until it completes successfully.

A skulk can begin in one of three ways:

· A CDS manager can enter a command to start an immediate skulk on a directory.

· CDS starts a skulk as an indirect result of other namespace management activities, which include the following:

- - Adding or removing a replica

- - Creating or deleting a directory

- - Redesigning replica types

- - Adding or deleting a child cell name in a parent cell

All of these activities produce changes in the structure of the namespace, so an immediate skulk ensures that the new structure is reflected throughout the namespace as quickly as possible.

· The CDS server initiates skulks automatically at a routine interval called the background skulk time.

The background skulk time interval guarantees a maximum lapse of time between skulks of a directory, regardless of other factors, such as namespace management activities and user-initiated skulks. A CDS server periodically checks each master replica in its clearinghouse and initiates a skulk if changes were made in a directory since the last successful skulk of that directory.