Internal processes for repairing corrupt data in Chronopolis.

This only describes processes for resolving data corruption, not issues of potential database corruption in ACE (invalid fixity or invalid tokens).

As Repairs are a two node process, we refer to the Node who requested the repair as the Repairing Node and the Node who is fulfilling the repair as the Fulfilling Node.

Repair

FieldTypeDescription
idLongNatural Identifier for the Repair
cleanedBooleanBoolean value to determine if the Repair has been cleaned from staging (on Repairing Node)
replacedBooleanBoolean value to determine if the Repair has replaced the invalid data on the Repairing Node
validatedBooleanBoolean value to determine if the files for the Repair have been validated by the Repairing Node
auditAuditStatusStatus of the ACE Audit of the corrupted files at the Repairing Node
statusRepairStatusStatus of the Repair
toStringThe node which requested the Repair (the Repairing Node)
requesterStringThe user which requested the Repair
depositorStringThe Depositor who owns the collection being Repaired
filesList<String>A List of files which are corrupt at the Repairing Node
fromStringThe node which is fulfilling the Repair (the Fulfilling Node)
typeFulfillmentTypeThe protocol used for transferring the data
credentialsFulfillmentStrategyThe information for the Repairing Node to transfer files from the Fulfilling Node*

FulfillmentType

An enumerated type describing the type of transfer which will occur

  • ACE (http)
  • NODE_TO_NODE (rsync)
  • INGEST (rsync)

FulfillmentStrategy

A polymorphic type which contains the information for retrieving the staged files

AceStrategy

FieldTypeDescription
typeFulfillmentTypeThe FulfillmentType (ACE)
apiKeyStringThe API Key used to connect to the Fulfilling Node's ACE AM
urlStringThe URL of the Fulfilling Node's ACE AM

RsyncStrategy

FieldTypeDescription
typeFulfillmentTypeThe FulfillmentType (NODE_TO_NODE)
linkStringThe rsync uri

AuditStatus

Enumeration of possible statuses of the audit for a Repair

  • PRE: The Repairing Node has not started the aAudit (likely not ready)
  • AUDITING: The Repairing Node has an ongoing audit over the retrieved data
  • SUCCESS: The Repairing Node has successfully audited the retrieved data
  • FAILURE: The Repairing Node still has invalid data on their ACE AM after retrieving the data

RepairStatus

Enumeration of possible states that a Repair may be in

  • REQUESTED: A Repairing Node has notified the Ingest Server of the need to Repair a collection
  • STAGING: A Fulfilling Node has accepted the Repair request and is staging copies of the requested files
  • READY: A Fulfilling Node has completed staging data
  • TRANSFERRED: A Repairing Node has completed transfer of data from a Fulfilling Node
  • REPAIRED: A Repairing Node has successfully repaired corrupt data
  • FAILED: A Repairing Node was unable to successfully repair corrupt data
  • No labels