J’utilise Backblaze comme stockage S3 et j’ai activé le paramètre nettoyer les uploads orphelins. Le problème est que, au lieu de supprimer l’upload orphelin, un fichier dupliqué de 0 octet a été créé.
Voir l’exemple ci-dessous. Le (2) indique le nombre de fichiers portant le même nom. Si vous développez, vous verrez que le fichier original existe toujours, accompagné également d’un fichier de 0 octet. Quelqu’un a-t-il rencontré un problème similaire ? S’agit-il d’un problème de Backblaze ou du paramètre ? Merci.
Discourse utilise l’API S3 et, comme elle fonctionne parfaitement avec AWS S3, il laisse cela comme un problème pour Backblaze. Peut-être devriez-vous contacter leur support ? J’ajouterai une note à ce sujet dans Utiliser un stockage objet pour les uploads (S3 et clones)
Il y a des points de suspension qui suggèrent que le nom du fichier de 0 octet est tronqué. Quel est le nom complet ? Je parierais que le bac a une configuration de cycle de vie et que ce fichier est un « marqueur de masquage », comme ils l’appellent.
Lorsque le cycle de vie expire, les deux versions devraient disparaître.
La partie tronquée est « cachée ». Je pense que vous avez raison. Il semble que les fichiers en double soient tous des fichiers récemment téléchargés. Je vais attendre un moment et voir s’ils disparaissent. Merci.
Bonjour,
Pourriez-vous nous tenir informés si le problème a été résolu ?
Plus d’un an s’est écoulé depuis votre dernier message, nous espérons donc que tout est désormais en ordre… ![]()
Le problème n’est toujours pas résolu. Je viens de supprimer manuellement tous les fichiers orphelins de BackBlaze. Je pense que je vais passer à S3 à ce stade, car le nettoyage régulier du stockage est une tâche en soi.
Juste une mise à jour sur mon expérience…
J’ai un compte B2 gratuit (c’est-à-dire les 10 premiers Go) et je n’ai pas de méthode de paiement ajoutée.
Les fichiers de sauvegarde sont mis en rotation et les fichiers « cachés » sont supprimés définitivement après quelques jours. Je n’ai jamais plus de 7 fichiers à la fois (Discourse a un maximum de 5 rotations de sauvegardes quotidiennes activées). Comme mes sauvegardes ne dépassent jamais ~500 Mo chacune, je n’ai jamais eu à payer quoi que ce soit ni à supprimer manuellement des fichiers « orphelins ».
Y a-t-il eu un changement concernant ce problème ? Quelqu’un a-t-il essayé de contacter le support Backblaze à ce sujet ?
Mais le problème semble être avec les « Téléversements » !!
Comme les « Sauvegardes » ne sont pas si nombreuses/trop nombreuses à gérer. Elles sont gérables, même manuellement.
Il semble que ce problème persiste.
@Falco pourriez-vous préciser quelles opérations S3 Discourse effectue pour nettoyer les orphelins ?
Merci. Je vois que copy_to_tombstone est impliqué ici. Je n’ai trouvé aucune documentation sur les tombes et les fichiers orphelins, je ne peux donc qu’émettre des hypothèses sur son fonctionnement d’après ce que j’ai lu sur le forum. Veuillez me corriger si je me trompe :
- Lorsqu’un fichier orphelin est identifié (après la période de grâce pour les téléchargements orphelins), il est copié dans le dossier de la tombe (
copy_object). - Il est ensuite supprimé (ou censé être supprimé) avec
delete_object. - Lorsque le moment est venu (après la période de grâce pour la purge des téléchargements supprimés), il est supprimé du dossier de la tombe.
Est-ce correct ?
D’après ce que je vois dans Backblaze, il semble bien qu’il soit copié dans le dossier de la tombe. Il n’est simplement pas supprimé, mais une version vide et cachée est créée à la place.
J’ai donc contacté le support et il semble qu’il existe une solution au problème des fichiers orphelins. Voici ce que le support Backblaze a dit :
Plusieurs choses se passent ici. En regardant votre compte, vous avez configuré les règles de cycle de vie de votre bucket sur Conserver tous les fichiers. Si vous changiez vos règles de cycle de vie pour Conserver uniquement la dernière version du fichier, le fichier caché serait supprimé 24 heures après avoir été caché, libérant ainsi de l’espace de stockage.
Une autre chose à ajouter ici est que lors de l’utilisation d’un service compatible S3, chaque fois qu’une suppression d’objet est appelée, celui-ci est caché. Et à partir de là, en fonction des règles de cycle de vie du bucket, il sera supprimé ou restera caché. Dans votre cas, les fichiers restent cachés et ne sont pas supprimés en raison de la règle “Conserver tous les fichiers”.
Pour qu’un objet soit supprimé lorsqu’une suppression d’objet est appelée, il faut avoir l’ID de version du fichier avec l’appel de suppression correspondant, ce que je ne pense pas que l’intégration fasse si les fichiers sont simplement cachés.
Pour que ces fichiers soient supprimés du bucket, vous devrez vous connecter à votre compte Backblaze, aller dans votre bucket et mettre à jour son paramètre de cycle de vie sur Conserver uniquement la dernière version du fichier. Cela supprimera le fichier caché du bucket après 24 heures.
Par défaut, Backblaze définit la règle de cycle de vie “Conserver tous les fichiers” pour les buckets nouvellement créés. C’est probablement pourquoi tout le monde a des problèmes avec les fichiers orphelins. Changer la règle de cycle de vie en “Conserver uniquement la dernière version du fichier” supprime les fichiers orphelins après 24 heures une fois qu’ils sont cachés.
Cela pourrait valoir la peine d’être mentionné dans ce fil de discussion :
Belle trouvaille ! Peux-tu la modifier sur le wiki ?
Je ne savais pas que c’était un wiki. Mis à jour.

