Backblaze S3 Problem: doppelte Uploads nach dem Löschen

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 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

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 „Gefällt mir“

Das Problem ist noch nicht behoben. Ich habe gerade alle verwaisten Dateien manuell von BackBlaze gelöscht. Ich denke, ich werde zu diesem Zeitpunkt zu S3 wechseln, da die regelmäßige Bereinigung des Speichers eine eigene Aufgabe darstellt.

3 „Gefällt mir“

Nur ein Update zu meiner Erfahrung…
Ich habe ein kostenloses B2-Konto (d.h. die ersten 10 GB) und keine Zahlungsmethode hinterlegt.

Die Backup-Dateien werden rotiert und die ‘versteckten’ Dateien werden nach einigen Tagen permanent gelöscht. Ich habe nie mehr als 7 Dateien gleichzeitig (Discourse hat maximal 5 tägliche Backup-Rotationen). Da meine Backups nie mehr als ca. 500 MB pro Stück sind, musste ich nie für etwas bezahlen oder ‘verwaiste’ Dateien manuell löschen.

2 „Gefällt mir“

Gibt es eine Änderung bei diesem Problem? Hat jemand versucht, den Backblaze-Support diesbezüglich zu kontaktieren?

1 „Gefällt mir“

Aber das Problem scheint bei ‘Uploads’ zu liegen!!
Da die ‘Backups’ nicht so viele/zu viele Dateien zum Verwalten sind. Sie sind überschaubar, sogar manuell.

Dieses Problem scheint weiterhin zu bestehen.

@Falco könnten Sie näher erläutern, welche S3-Operationen Discourse durchführt, um verwaiste Objekte zu bereinigen?

Danke. Ich sehe, dass copy_to_tombstone hier involviert ist. Ich konnte keine Dokumentation über Tombstones und verwaiste Dateien finden, daher kann ich nur vermuten, wie es funktioniert, basierend auf dem, was ich im Forum gelesen habe. Bitte korrigieren Sie mich, wenn ich falsch liege:

  1. Wenn eine verwaiste Datei identifiziert wird (nach Ablauf der Frist für verwaiste Uploads), wird sie in den Tombstone-Ordner kopiert (copy_object).
  2. Sie wird dann gelöscht (oder soll gelöscht werden) mit delete_object.
  3. Wenn die Zeit kommt (nach Ablauf der Frist für die Bereinigung gelöschter Uploads), wird sie aus dem Tombstone-Ordner gelöscht.

Ist das richtig?

Basierend auf dem, was ich in Backblaze sehe, scheint sie tatsächlich in den Tombstone-Ordner kopiert zu werden. Sie wird nur nicht gelöscht, sondern stattdessen wird eine leere, versteckte Version erstellt.

1 „Gefällt mir“

Ich habe also den Support kontaktiert, und es scheint eine Lösung für das Problem mit den verwaisten Dateien zu geben. Hier ist, was der Backblaze-Support sagte:

Hier passieren ein paar Dinge. Wenn ich mir Ihr Konto ansehe, haben Sie Ihre Bucket-Lifecycle-Regeln auf Alle Dateien behalten gesetzt. Wenn Sie Ihre Lifecycle-Regeln auf Nur die letzte Version der Datei behalten ändern würden, wird die versteckte Datei 24 Stunden nach dem Verstecken gelöscht und der Speicherplatz freigegeben.

Eine weitere Ebene, die hier hinzugefügt werden muss, ist, dass bei Verwendung eines S3-kompatiblen Dienstes jedes Mal, wenn ein Objekt gelöscht wird, dieses versteckt wird. Und von hier aus wird es je nach den Lifecycle-Regeln des Buckets gelöscht oder versteckt bleiben. In Ihrem Fall bleiben die Dateien versteckt und werden nicht gelöscht, da Sie ALLE Dateien behalten.

Damit ein Objekt gelöscht wird, wenn ein Objekt-Löschvorgang aufgerufen wird, muss die Datei-Versions-ID mit dem entsprechenden Löschaufruf übergeben werden, was die Integration meiner Meinung nach nicht tut, wenn Dateien nur versteckt werden.

Damit diese Dateien aus dem Bucket gelöscht werden, müssen Sie sich in Ihr Backblaze-Konto einloggen, zu Ihrem Bucket gehen und dessen Lifecycle-Einstellung auf Nur die letzte Version der Datei behalten. ändern. Dies löscht die versteckte Datei nach 24 Stunden aus dem Bucket.

Standardmäßig legt Backblaze die Lifecycle-Regel “Alle Dateien behalten” für neu erstellte Buckets fest. Das ist wahrscheinlich der Grund, warum alle Probleme mit verwaisten Dateien haben. Das Ändern der Lifecycle-Regel auf “Nur die letzte Version der Datei behalten” löscht verwaiste Dateien nach 24 Stunden, sobald sie versteckt sind.

Das könnte erwähnenswert sein in diesem Thread:

2 „Gefällt mir“

Guter Fund! Können Sie ihn bitte in das Wiki einfügen?

Mir war nicht bewusst, dass es ein Wiki ist. Aktualisiert.

1 „Gefällt mir“