Problema Backblaze S3: caricamenti duplicati dopo l'eliminazione

Sto utilizzando Backblaze come archivio S3 e ho attivato l’impostazione pulisci upload orfani. Il problema è che, invece di eliminare l’upload orfano, viene creato un file duplicato da 0 byte.
Vedi l’esempio qui sotto. Il (2) indica il numero di file con lo stesso nome. Se espandi, vedrai che il file originale esiste ancora, insieme a un file da 0 byte. Qualcuno ha avuto un problema simile? È un problema di Backblaze o dell’impostazione? Grazie.

Discourse utilizza l’API S3 e, dato che funziona correttamente con AWS S3, lascia questo aspetto come problema di Backblaze. Forse è meglio contattare il loro supporto? Aggiornerò la nota a riguardo in Utilizzo dello storage oggetti per i caricamenti (S3 e cloni)

3 Mi Piace

C’è un punto di sospensione che suggerisce che il nome del file da 0 byte è stato troncato. Qual è il nome completo? Scommetto che il bucket ha configurato un ciclo di vita dei file e che quel file è un “segno di occultamento”, come lo chiamano loro.

Quando il ciclo di vita scade, entrambe le versioni dovrebbero scomparire.

3 Mi Piace

La parte troncata è “nascosta”. Penso che tu abbia ragione. Sembra che i file duplicati siano tutti quelli caricati di recente. Aspetterò un po’ di tempo per vedere se scompaiono. Grazie.

1 Mi Piace

Ciao,
puoi aggiornarci se il problema è stato risolto?
È passato più di un anno dall’ultimo tuo post, quindi speriamo che ora sia tutto a posto… :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:

3 Mi Piace

Ottima scoperta! Puoi modificarlo nella wiki?

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

1 Mi Piace