Backblaze S3の問題:削除後の重複アップロード

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

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

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

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

問題はまだ解決していません。BackBlaze の孤立したファイルをすべて手動で削除しました。ストレージの定期的なクリーンアップ自体がタスクであるため、この時点で S3 に移行すると思います。

「いいね!」 3

私の経験のアップデートです…
無料のB2アカウント(つまり最初の10GB)を持っており、支払い方法を追加していません。

バックアップファイルはローテーションされ、「隠し」ファイルは数日後に永久に削除されます。一度に7つ以上のファイルを持つことはありません(Discourseは最大5つのデイリーバックアップローテーション)。バックアップは常に約500MB以下なので、支払いが発生したり、「孤立した」ファイルを手動で削除したりする必要はありませんでした。

「いいね!」 2

この件に関して何か変更はありましたか?どなたかBackblazeサポートに連絡してみましたか?

「いいね!」 1

しかし、問題は「アップロード」にあるようです!!
「バックアップ」は、管理するファイルが多すぎたり少なすぎたりするわけではありません。手動でも管理できます。

この問題は継続しているようです。

@Falco Discourse が孤児をクリーンアップするためにどのような S3 操作を実行するか、詳しく説明していただけますか?

ありがとうございます。copy_to_tombstone が関係していることがわかりました。tombstone と孤立ファイルに関するドキュメントが見つからなかったので、フォーラムで読んだ内容に基づいてどのように機能するか推測するしかありません。もし間違っていたら訂正してください。

  1. 孤立ファイルが特定されると(クリーンな孤立アップロードの猶予期間時間)、tombstone フォルダにコピーされます(copy_object)。
  2. その後、削除されます(または削除されるはずです)(delete_object)。
  3. 削除されたアップロードのパージ猶予期間日になったら、tombstone フォルダから削除されます。

これで合っていますか?

Backblaze で見ている内容に基づくと、tombstone フォルダにコピーされているように見えます。削除されているのではなく、空の非表示バージョンが作成されているだけです。

「いいね!」 1

サポートに連絡したところ、孤児の問題に対する解決策があるようです。Backblazeサポートからの回答は以下のとおりです。

ここでいくつかの問題が発生しています。アカウントを確認したところ、バケットのライフサイクルルールが「すべてのファイルを保持」に設定されています。ライフサイクルルールを「ファイルの最新バージョンのみを保持」に変更すると、非表示になったファイルは非表示になってから24時間後に削除され、ストレージ容量が解放されます。

ここで追加するもう1つのレイヤーは、S3互換サービスを使用している場合、オブジェクトの削除が呼び出されるたびに、オブジェクトは非表示になります。そしてここから、バケットのライフサイクルルールに応じて、削除されるか非表示のままになります。お客様の場合、「すべてのファイルを保持」により、ファイルは非表示のまま削除されていません。

オブジェクトの削除が呼び出されたときにオブジェクトが削除されるようにするには、ファイルバージョンIDを削除呼び出しに付随させる必要があります。ファイルが単に非表示になっている場合、統合はこの処理を行っていないと思われます。

これらのファイルをバケットから削除するには、Backblazeアカウントにサインインし、バケットに移動して、ライフサイクル設定をファイルの最新バージョンのみを保持**に更新する必要があります。これにより、非表示のファイルは24時間後にバケットから削除されます。

デフォルトでは、Backblazeは新規作成されたバケットに「すべてのファイルを保持」ライフサイクルルールを設定します。これが、誰もが孤児の問題を抱えている理由でしょう。「ファイルの最新バージョンのみを保持」にライフサイクルルールを変更すると、非表示になってから24時間後に孤児が削除されます。

これは、このスレッドで言及する価値があるかもしれません。

「いいね!」 2

Nice find! Can you please edit it to the wiki?

ウィキだとは知りませんでした。更新しました。

「いいね!」 1