Problema Backblaze S3: caricamenti duplicati dopo l'eliminazione

I am using Backblaze as S3 storage and have the clean up orphan uploads setting turned on. The problem is, instead of deleting the orphan upload, there created a duplicated file with 0 byte.
see below for example. the (2) indicates the number of files with the same name. if expanded, you will see the original file still exists, also with an 0 bytes file. Has anyone had the similar issue? is it the problem of Backblaze or the setting? Thanks.

Screen Shot 2021-03-15 at 8.00.38 AM

Discourse uses the S3 API, and since it works fine with AWS S3 it leaves this to being a Backblaze problem. Maybe contact their support? I will add a note about this in Using Object Storage for Uploads (S3 & Clones)

3 Mi Piace

There’s an ellipsis which suggests the name of the 0-byte file is being truncated. What is the full name there? I’d wager the bucket has a file lifecycle configured and that file is a “hide marker”, as they call it.

When the lifecycle expires both versions should disappear.

3 Mi Piace

The truncated part is “hidden”. I think you are right. It looks like the duplicated files are all recently uploaded ones. I will wait some time and see if they are gone. Thank you.

1 Mi Piace

Hi,
Can you please update us if the issue has been resolved?
More than a year passed since your last post, so hoping this is OK now… :slight_smile:

1 Mi Piace

Il problema non è ancora stato risolto. Ho appena eliminato manualmente tutti i file orfani da BackBlaze. Penso che a questo punto mi sposterò su S3 perché la pulizia regolare dello storage è un compito a sé stante.

3 Mi Piace

Solo un aggiornamento sulla mia esperienza…
Ho un account B2 gratuito (cioè i primi 10 GB) e non ho aggiunto un metodo di pagamento.

I file di backup vengono ruotati e i file ‘nascosti’ vengono rimossi permanentemente dopo alcuni giorni. Non ho mai più di 7 file contemporaneamente (Discourse ha un massimo di 5 rotazioni di backup giornalieri attive). Poiché i miei backup non superano mai i ~500 MB ciascuno, non ho mai dovuto pagare nulla o eliminare manualmente file ‘orfani’.

2 Mi Piace

Ci sono stati cambiamenti riguardo a questo problema? Qualcuno ha provato a contattare l’assistenza Backblaze in merito?

1 Mi Piace

Ma il problema sembra essere con i ‘Caricamenti’!!
Poiché i ‘Backup’ non sono così tanti/troppi file da gestire. Sono gestibili, anche manualmente.

Sembra che questo problema continui.

@Falco potresti spiegare quali operazioni S3 esegue Discourse per ripulire gli orfani?

Grazie. Vedo che copy_to_tombstone è coinvolto qui. Non sono riuscito a trovare alcuna documentazione sui file tombstone e orfani, quindi posso solo ipotizzare come funziona in base a ciò che ho letto nel forum. Per favore, correggimi se sbaglio:

  1. Quando un file orfano viene identificato (ore del periodo di grazia per gli upload orfani puliti), viene copiato nella cartella tombstone (copy_object).
  2. Viene quindi eliminato (o dovrebbe essere eliminato) con delete_object.
  3. Quando arriva il momento (giorni del periodo di grazia per l’eliminazione degli upload eliminati) viene eliminato dalla cartella tombstone.

È corretto?

In base a ciò che vedo in Backblaze, sembra effettivamente che venga copiato nella cartella tombstone. Semplicemente non viene eliminato, ma invece viene creata una versione nascosta vuota.

1 Mi Piace

Ho contattato l’assistenza e sembra che ci sia una soluzione al problema degli orphan. Ecco cosa ha detto l’assistenza Backblaze:

Ci sono un paio di cose che succedono qui. Guardando il tuo account, hai impostato le regole del ciclo di vita del tuo bucket su Conserva tutti i file. Se cambiassi le regole del ciclo di vita in Conserva solo l’ultima versione del file, il file nascosto verrà eliminato dopo 24 ore che è stato nascosto, liberando spazio di archiviazione.

Ora, un altro livello da aggiungere qui è che quando si utilizza un servizio compatibile con S3, ogni volta che viene chiamata un’eliminazione di un oggetto, questo verrà nascosto. E da qui, a seconda delle regole del ciclo di vita del bucket, verrà eliminato o rimarrà nascosto. Nel tuo caso, i file rimangono nascosti e non vengono eliminati a causa di Conserva TUTTI i file.

Affinché un oggetto venga eliminato quando viene chiamata un’eliminazione di un oggetto, è necessario avere l’ID della versione del file con la relativa chiamata di eliminazione, cosa che non credo l’integrazione stia facendo se i file vengono semplicemente nascosti.

Affinché questi file vengano eliminati dal bucket, dovrai accedere al tuo account Backblaze, andare al tuo bucket e aggiornare la sua impostazione del ciclo di vita a Conserva solo l’ultima versione del file. Questo eliminerà il file nascosto dal bucket dopo 24 ore.

Per impostazione predefinita, Backblaze imposta la regola del ciclo di vita “Conserva tutti i file” per i bucket appena creati. Probabilmente è per questo che tutti hanno problemi con gli orphan. La modifica della regola del ciclo di vita in “Conserva solo l’ultima versione del file” elimina gli orphan dopo 24 ore una volta che sono stati nascosti.

Potrebbe valere la pena menzionarlo in questo thread:

2 Mi Piace

Ottima scoperta! Puoi modificarlo nella wiki?

Non mi ero reso conto che fosse una wiki. Aggiornato.

1 Mi Piace