A replica selector, that allows the user to specify good sites and bad sites
for staging in data to a compute site.
A good site for a compute site X, is a preferred site from which replicas
should be staged to site X. If there are more than one good sites having a
particular replica, then a random siteis selected amongst these preferred sites.
A bad site for a compute site X, is a site from which replica's should not be
staged. The reason of not accessing replica from a bad site can vary from
the link being down, to the user not having permissions on that site's data.
The good | bad sites are specified by the properties
pegasus.selector.replica.*.prefer.stagein.sites| pegasus.selector.replica.*.ignore.stagein.sites, where
the * in the property name denotes the name of the compute site.
A * in the property key is taken to mean all sites.
The pegasus.selector.replica.*.prefer.stagein.sites property takes precedence over
pegasus.selector.replica.*.ignore.stagein.sites property i.e. if for a site X, a site Y is
specified both in the ignored and the preferred set, then site Y is taken to
mean as only a preferred site for a site X.
In order to use the replica selector implemented by this class,
- the property pegasus.selector.replica.selector must be set to value Restricted.
author: Karan Vahi author: Gaurang Mehta version: $Revision: 50 $ |