Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Simplify/enhance procedure to delete a ZIM #307

Open
benoit74 opened this issue Nov 22, 2024 · 1 comment
Open

Simplify/enhance procedure to delete a ZIM #307

benoit74 opened this issue Nov 22, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request question Further information is requested

Comments

@benoit74
Copy link
Collaborator

Currently, the procedure to delete a ZIM is a bit complex / long:

  • we first need to put the imager in maintenance, ensuring there is no running job
  • then we delete the file
  • then we regenerate the library
  • then we restore imager operations

This has multiple drawbacks:

  • waiting for no running job on the imager is painful, and we hope it is going to be more and more rare that the imager is "free"
  • putting the imager in maintenance everytime we need to delete a ZIM is not very good for our users
  • we are at risk of forgetting (at least for some hours) to restore imager operations and having an imager in maintenance for too long
  • there is a slack time (currently quite small, but still) between the moment where the file is deleted and the moment the library is updated where the file is still listed in the library but not available anymore on the disk, leading to weird effects in the library (especially since we have varnish cache in front)

I propose that we enhance the library generation script to ignore ZIM file which have a delete marker right away. The delete marker can for instance be a file name like the ZIM but with a .deleted suffix. I.e if I want to remove physicell_en_all_maxi_2023-01.zim from the library, I just physicell_en_all_maxi_2023-01.zim.deleted on the filesystem and relaunch library generation job. Once library is regenerated and no more imager job are using this file, I can remove both files from the storage. This would allow to not put into maintenance at all, and never have a library with files which are in fact gone.

WDYT?

@benoit74 benoit74 added enhancement New feature or request question Further information is requested labels Nov 22, 2024
@benoit74 benoit74 self-assigned this Nov 22, 2024
@rgaudin
Copy link
Member

rgaudin commented Nov 22, 2024

👍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants