Repairing is a process which allows for node to node resolution of corrupt files in Chronopolis. Currently a node administrator must choose which files to repair and which node to repair from. This is to prevent unnecessary repairs (e.g. in the event of a filesystem being offline), and also to allow for discussion around the collection before it is repaired.
Download and install the rpm
Installation Notes
The rpm creates a chronopolis user if it does not exist, and creates the following files/directories:
/etc/chronopolis /etc/chronopolis/repair.yml /etc/init.d/chron-repair /usr/lib/chronopolis /usr/lib/chronopolis/chron-repair.jar /var/log/chronopolis
The configuration for the repair service is done in the repair.yml under /etc/chronopolis
# Application Configuration for the Chronopolis Repair # cron timers ## cron.repair: how often to check the Ingest Server repair endpoint ## cron.fulfilment: how often to check the Ingest Server fulfillments endpoint cron: repair: 0 0/1 * * * * fulfillment: 0 0 * * * * # general properties ## repair.stage: staging area to replicate files to before they are moved to preservation storage ## repair.preservation: preservation storage area repair: stage: /export/repair/staging preservation: /preservation/bags # Chronopolis Ingest API configuration ## ingest.endpoint: the url of the ingest server ## ingest.ucsername: the username to authenticate as ## ingest.password: the password to authenticate with ingest: endpoint: http://localhost:8000 username: node password: nodepass # rsync configuration for fulfillments ## rsync.path: used if chrooting users rsyncing - the path under the chroot context ## rsync.stage: a staging area which fulfillments will be copied to ## rsync.server: the fqdn of the server nodes will replicate from rsync: path: /export/repair/outgoing stage: /export/repair/outgoing server: loach.umiacs.umd.edu # ACE AM configuration ## ace.am: the local ACE AM webapp ## ace.username: the username to authenticate as ## ace.password: the password to authenticate with ace: am: http://localhost:8080/ace-am/ username: admin password: admin # spring properties ## spring.profiles.active: the profiles to use when running ## recommended: default, rsync spring: profiles: active: default, rsync # logging properties ## logging.file: the file to write logging statements to ## logging.level: the log level to filter on logging.file: /var/log/chronopolis/repair.log logging.level.org.chronopolis: INFO |
The Repair Service ships with a SysV style init script and has the basic start/stop/restart options. Customization of the script may be necessary if your java location needs to be specified.
service chron-repair start|stop|restart
Note that we have two nodes: CORRUPT and VALID
Currently the Repair workflow handles repairing corrupt files, but does not cover other types of failure which can occur in the system. For example, in the past we have had issues with the Audit Manager (ACE-AM) having received invalid checksums from the underlying storage system, which then needed to be updated in order for an audit to pass successfully. We have also see ACE Token Stores be partially loaded which results in the need to re-upload the ACE Token Store so that we can ensure we are auditing against the ACE Tokens we created on ingestion of the collection.
26 June, 2017
Initial release for the Chronopolis Medic (Repair) software to process Repair requests on the Chronopolis Ingest Server