public class ReplicationManager extends Object
| Modifier and Type | Field and Description |
|---|---|
static org.apache.log4j.Logger |
log |
| Constructor and Description |
|---|
ReplicationManager()
Constructor - singleton pattern, enforced by Spring application.
|
ReplicationManager(ReplicationRepositoryFactory repositoryFactory)
A for-testing-purposes constructor to get around configuration complications
|
| Modifier and Type | Method and Description |
|---|---|
List<org.dataone.service.types.v1.NodeReference> |
calcQualifiedReplicas(org.dataone.service.types.v2.SystemMetadata sysmeta)
Given the current system metadata object, return a list of already listed
replica entries that are in the queued, requested, or completed state.
|
int |
createAndQueueTasks(org.dataone.service.types.v1.Identifier pid)
Create replication tasks given the identifier of an object by evaluating
its system metadata and the capabilities of the target replication nodes.
|
org.dataone.service.types.v2.Node |
getNode(org.dataone.service.types.v1.NodeReference nodeRef)
Get a Node from the NodeRegistryService
|
Set<org.dataone.service.types.v1.NodeReference> |
getNodeReferences()
Get a list of NodeReferences from the NodeRegistryService
|
protected List<String> |
getObjectVersion(org.dataone.service.types.v2.SystemMetadata sysmeta)
returns list of versions for registered MNReplication services
|
protected List<org.dataone.service.types.v1.NodeReference> |
getPotentialTargetNodes(Set<org.dataone.service.types.v1.NodeReference> nodeList,
org.dataone.service.types.v2.SystemMetadata smd,
ApiVersion sourceReplicationSupport)
determines which nodes are potential target nodes for the pid.
|
protected ApiVersion |
getSupportedReplicationVersion(org.dataone.service.types.v1.Identifier pid,
org.dataone.service.types.v2.Node authoritativeNode)
uses the authoritativeMemberNode of the object to determine which version
to replicate with.
|
protected boolean |
passesReplicationPolicies(org.dataone.service.types.v2.Node node,
org.dataone.service.types.v2.SystemMetadata sysmeta)
examine the NodeReplicationPolocy of the Node and the ReplicationPolicy
of the object to filter out incompatible targets.
|
void |
setCnReplication(org.dataone.service.cn.v2.CNReplication cnReplication) |
protected boolean |
targetNodeSupportsReplication(org.dataone.service.types.v2.Node node,
ApiVersion sourceVersion)
determines whether or not the passed in node supports replication at
the version level specified.
|
public ReplicationManager()
public ReplicationManager(ReplicationRepositoryFactory repositoryFactory)
repAttemptHistoryRepos - public org.dataone.service.types.v2.Node getNode(org.dataone.service.types.v1.NodeReference nodeRef)
nodeRef - public Set<org.dataone.service.types.v1.NodeReference> getNodeReferences()
protected List<String> getObjectVersion(org.dataone.service.types.v2.SystemMetadata sysmeta)
sysmeta - public int createAndQueueTasks(org.dataone.service.types.v1.Identifier pid)
pid - - the identifier of the object to be replicatedprotected ApiVersion getSupportedReplicationVersion(org.dataone.service.types.v1.Identifier pid, org.dataone.service.types.v2.Node authoritativeNode) throws org.dataone.service.exceptions.InvalidRequest
pid - authoritativeNode - org.dataone.service.exceptions.InvalidRequestprotected boolean targetNodeSupportsReplication(org.dataone.service.types.v2.Node node,
ApiVersion sourceVersion)
node - sourceVersion - protected List<org.dataone.service.types.v1.NodeReference> getPotentialTargetNodes(Set<org.dataone.service.types.v1.NodeReference> nodeList, org.dataone.service.types.v2.SystemMetadata smd, ApiVersion sourceReplicationSupport) throws org.dataone.service.exceptions.ServiceFailure, org.dataone.service.exceptions.NotFound
nodeList - smd - sourceReplicationSupport - org.dataone.service.exceptions.ServiceFailureorg.dataone.service.exceptions.NotFoundprotected boolean passesReplicationPolicies(org.dataone.service.types.v2.Node node,
org.dataone.service.types.v2.SystemMetadata sysmeta)
node - sysmeta - public List<org.dataone.service.types.v1.NodeReference> calcQualifiedReplicas(org.dataone.service.types.v2.SystemMetadata sysmeta)
sysmeta - the system metadata object to evaluatepublic void setCnReplication(org.dataone.service.cn.v2.CNReplication cnReplication)
Copyright © 2018. All rights reserved.