eprintsug / EPrintsArchivematica

Digital Preservation through EPrints-Archivematica Integration - An EPrints export plugin to Archivematica
6 stars 1 forks source link

process_transfers -- copy failed error #20

Open geo-mac opened 4 years ago

geo-mac commented 4 years ago

Some great work going on here -- thanks. Things are working pretty well on our EPrints test instance but we have noted some inconsistencies, notably that the process_transfer job is failing and reporting a 'copy failed' error. The job actually processes and exports all eprints with Arhicvematica IDs 1-25 successfully but then fails on ID 26.. I'm not identifying any issue with line 77 of this file and seems to validate pretty much correctly at perlcritic which is useful to know, because my Perl is not good. Here's the verbose report:

[eprints@testprints ~]$ /opt/eprints3/archives/strathprints/bin/process_transfers strathprints --verbose
Useless use of string eq in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.
Useless use of a constant in void context at (eval 107) line 162.

Starting EPrints Repository.
Connecting to DB ... done.
Found 40557 records to process.
Processing: 3
Wide character in print at /opt/eprints3/perl_lib/EPrints/XML.pm line 717.
Wide character in print at /opt/eprints3/lib/plugins/EPrints/Plugin/Export/Archivematica/EPrint.pm line 167.
Processing: 5
Wide character in print at /opt/eprints3/perl_lib/EPrints/XML.pm line 717.
Wide character in print at /opt/eprints3/lib/plugins/EPrints/Plugin/Export/Archivematica/EPrint.pm line 167.
Processing: 6
Processing: 7
Wide character in print at /opt/eprints3/perl_lib/EPrints/XML.pm line 717.
Processing: 8
Wide character in print at /opt/eprints3/perl_lib/EPrints/XML.pm line 717.
Wide character in print at /opt/eprints3/lib/plugins/EPrints/Plugin/Export/Archivematica/EPrint.pm line 167.
Processing: 10
Wide character in print at /opt/eprints3/perl_lib/EPrints/XML.pm line 717.
Wide character in print at /opt/eprints3/lib/plugins/EPrints/Plugin/Export/Archivematica/EPrint.pm line 167.
Processing: 13
Wide character in print at /opt/eprints3/perl_lib/EPrints/XML.pm line 717.
Processing: 16
Wide character in print at /opt/eprints3/perl_lib/EPrints/XML.pm line 717.
Processing: 17
Wide character in print at /opt/eprints3/perl_lib/EPrints/XML.pm line 717.
Wide character in print at /opt/eprints3/lib/plugins/EPrints/Plugin/Export/Archivematica/EPrint.pm line 167.
Processing: 19
Processing: 22
Processing: 25
Processing: 26
Copy failed: No such file or directory at /opt/eprints3/lib/plugins/EPrints/Plugin/Export/Archivematica/EPrint.pm line 77.
[eprints@testprints ~]$

The other curious aspect to this is that the Archivematica report within the Eprints backend is reporting 26 (and hundreds of others) as having been successful. However, I know from the command line -- and from observing the export folder at /opt/eprints3/archives/strathprints/archivematica -- that this is not true. Only 1-25 have been exported.

26 may be a corrupt file and I will experiment by removing it altogether from our testing to determine whether this is causing the job to fail. But this still leaves open the issue with the backend reporting. Any ideas folks?

image

geo-mac commented 4 years ago

Just a follow-up note to report that I got the job running by destroying the offending Eprint (Archivematica ID 26) and destroying the record of it within the UI. However, the job later failed at 941 and reported the same error. So, the job got significantly further but still encountered problems. Incidentally, the offending file was simply an HTML file. One has to assume that 941 is also corrupted.

I guess it would make sense for the job to skip over these sorts of files and report them afterwards for possible manual intervention.