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.InvalidRequest
protected 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.ServiceFailure
org.dataone.service.exceptions.NotFound
protected 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 © 2019. All rights reserved.