public class ReplicationPrioritizationStrategy extends Object
Modifier and Type | Field and Description |
---|---|
static org.apache.log4j.Logger |
log |
Constructor and Description |
---|
ReplicationPrioritizationStrategy()
Constructor: create a prioritization strategy
|
Modifier and Type | Method and Description |
---|---|
Map<org.dataone.service.types.v1.NodeReference,Float> |
getBandwidthFactors(List<org.dataone.service.types.v1.NodeReference> nodeIdentifiers,
boolean useCache)
For the given nodes, return the bandwidth factor as a surrogate for the
nodes' demonstrated throughput over a recent time period.
|
Map<org.dataone.service.types.v1.NodeReference,Float> |
getFailureFactors(List<org.dataone.service.types.v1.NodeReference> nodeIdentifiers,
boolean useCache)
For the given node list, report the success factor as a surrogate for the
nodes' demonstrated replication successes over a recent time period.
|
Map<org.dataone.service.types.v1.NodeReference,Float> |
getPendingRequestFactors(List<org.dataone.service.types.v1.NodeReference> nodeIdentifiers,
boolean useCache)
For the given node list, report the pending request factor of each node.
|
List<org.dataone.service.types.v1.NodeReference> |
prioritizeNodes(List<org.dataone.service.types.v1.NodeReference> potentialNodeList,
org.dataone.service.types.v2.SystemMetadata sysmeta)
Prioritize a list of potential replica target nodes based on a number of
factors including preferred/blocked node lists, pending request, failure,
and bandwidth factors.
|
public ReplicationPrioritizationStrategy()
public Map<org.dataone.service.types.v1.NodeReference,Float> getPendingRequestFactors(List<org.dataone.service.types.v1.NodeReference> nodeIdentifiers, boolean useCache)
nodeIdentifiers
- the list of nodes to include in the reportuseCache
- use the cached values if the cache hasn't expiredpublic Map<org.dataone.service.types.v1.NodeReference,Float> getFailureFactors(List<org.dataone.service.types.v1.NodeReference> nodeIdentifiers, boolean useCache)
nodeIdentifiers
- the list of nodes to include in the reportuseCache
- use the cached values if the cache hasn't expiredpublic Map<org.dataone.service.types.v1.NodeReference,Float> getBandwidthFactors(List<org.dataone.service.types.v1.NodeReference> nodeIdentifiers, boolean useCache)
nodeIdentifiers
- the list of nodes to include in the reportuseCache
- use the cached values if the cache hasn't expiredpublic List<org.dataone.service.types.v1.NodeReference> prioritizeNodes(List<org.dataone.service.types.v1.NodeReference> potentialNodeList, org.dataone.service.types.v2.SystemMetadata sysmeta)
sysmeta
- potentialNodeList
- Copyright © 2018. All rights reserved.