archivesspace/archivesspace — pull request #121 by quoideneuf (2014-12-09 13:23:24+00:00)
Title: Deceptive import failures

The MarcXMLAccessionConverter is a subclass of the MarcXMLConverter. If the converter's configuration block fails to remove each inherited mapping that doesn't apply (in this case, all note mappings, since accessions don't have notes), the import dies with an obscure '[] called on nil' error. Furthermore, the batch runner swallows this error and raises a Validation error instead when it tries to unlink the batch file for the aborted conversion, resulting in hours of misguided debugging culminating in the sad realization that the exact same path has been traveled before.

This PR raises a ConverterMappingError when a mapping definition targets a property that isn't in the schema. It also changes the way files are unlinked so that when a file created in the course of a failed job is unlinked, it doesn't get run through the validator.