archivematica / Issues

Issues repository for the Archivematica project
GNU Affero General Public License v3.0
16 stars 1 forks source link

Problem: Package extraction can fail in the storage service if a pointer file hasn't been created #616

Open ross-spencer opened 5 years ago

ross-spencer commented 5 years ago

Expected behaviour

The storage service uses the pointer file to determine compression correctly so that re-ingest can work, as well as retrieving files via the API.

Current behaviour

Connected to #594 if a pointer file doesn't exist,then the storage service will fall-back to unar which in the case of some packages created by 7z doesn't always work.

Steps to reproduce

See #594.

Your environment (version of Archivematica, OS version, etc)

AM stable/1.9.0 and qa/0.x

Additional context

There is some work in progress here developed looking at ways to fix #594 but will need to be rebased: https://github.com/artefactual/archivematica-storage-service/pull/441 - the tests developed there should be useful.


For Artefactual use: Please make sure these steps are taken before moving this issue from Review to Verified in Waffle:

ross-spencer commented 3 years ago

Notably #920 is linked to this issue. In #920 the storage service's inability to understand how to extract a bag means it can't submit the package to bagit.py to be checked Further, for more context, the types of file you might try and access but cannot in this scenario is METS file that can be accessed from the Archival Storage tab.

This GIF tries to demonstrate the failure once the pointer file is missing by:

  1. Showing successful download of the METS and Pointer file.
  2. Renames the pointer file so it mimics no longer exisitng/being able to be found.
  3. Shows failure to download METS and pointer (the latter as you'd definitely expect once you've changed a file's name).

2021-02-17-mets-pointer-example