You are not logged in.

Announcement

 Téléchargez la dernière version stable de GLPI      -     Et vous, que pouvez vous faire pour le projet GLPI ? :  Contribuer
 Download last stable version of GLPI                      -     What can you do for GLPI ? :  Contribute

#1 2017-11-07 13:48:50

PA
Member
Registered: 2013-02-04
Posts: 7

purge des fichiers inutilisés dans le Repository

Bonjour à tous,

Nous sommes actuellement en version 0.90+1.3.

J'ai voulu tester sur notre pré-prod l'option pour "nettoyer" le repository (via le bouton "clean unused files") qui atteint chez nous 385 Go.

Nous avons gagné environ 100Go, mais le fonctionnement de la purge m'inquiète.

D'après ce que j'ai compris du code :
- la liste des manifest est confronté à la table "glpi_plugin_fusioninventory_deployorders" pour voir si le SHA du fichier est évoqué dans un paquet
- s'il n'est pas mentionné, le manifest est parcouru pour aller supprimer chaque bloc du filesystem

Et là grande question : Que se passe-t-il si un bloc est partagé par plusieurs fichiers ?

J'ai donc creusé un peu et en listant tous les SHA des blocs contenus dans tous mes manifests, j'en trouve certains présents dans plusieurs manifests (15344 valeurs en double sur 305129 blocs).

Et au final, j'ai réussi à débusquer un bloc qui avait été purgé alors qu'il était utilisé par un fichier toujours utilisé dans un paquet. Il s'agissait du bloc d'un fichier ZIP uploadé deux fois, avec une taille différente de quelques octets (respectivement 7921543044 et 7921545093).

Conclusion, le nettoyage du repository risque de casser des fichier toujours actifs.

Pouvez-vous me confirmer ce comportement ? A moins que cela n'ait été corrigé dans une version plus récente ? (j'ai regardé le master de deployfile.class.php et le code semble avoir été reworké, mais pas de changement notable)

Merci d'avance pour votre avis éclairé sur le sujet.

Cordialement,
PA

Offline

Board footer

Powered by FluxBB