Azure by-hash cleanup can't read its link metadata
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 76/100
調査の方向性
azure/public.go の Azure リンクの writer と reader から始め、by-hash ローテーション中に deb/index_files.go が ReadLink をどう使うかを追ってください。writer がリンク先をどのように保存し、reader がどのキーを検索するかを確認してください。issue ではこれらのキーが異なると報告されています。issue に記載された Azurite のセットアップで再現し、2 世代分の変更後にローテーションによって最も古いハッシュが削除されることを確認してください。
索引モデルが issue の本文から書いたものです。
説明
The Azure backend's SymLink stores the link target in metadata key SymLink, but ReadLink looks for original_blob. As a result, by-hash rotation can't find the oldest index's target, so that blob never gets deleted.
I reproduced this with Azurite by calling the production packageIndexByHash function for successive SHA256 index generations, waiting for leases to expire between writes. The oldest hash was still there after two changed generations, although the current/previous-generation policy should have removed it. Every ReadLink call returned:
error reading link dists/noble/main/binary-amd64/by-hash/SHA256/Packages: <nil>
The stored metadata had SymLink, and every retained hash blob still matched its original contents.
Relevant code: Azure link writer/reader and index rotation.
- 主要言語
- Go
- スター
- 2.9k
- フォーク
- 436
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
aptly-dev/aptly のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
-
難易度 4/5 3〜5日 初心者へのやさしさ 54/100
-
Aptly fails to use CONNECT-only HTTP proxies対応中かも @7heo が 45 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 30/100
aptly-dev/aptly の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
blinklabs-io/dingo#5636 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
JetBrains/youtrack-cli#130 ·
メンテナーはふだん 1 日以内に返信
-
kind/bug needs-triage sig/release
難易度 2/5 1〜3時間 初心者へのやさしさ 73/100
kubernetes/kubernetes#143392 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 2/5 1〜3時間 初心者へのやさしさ 61/100
メンテナーはふだん 1 日以内に返信
-
stage-fail
難易度 1/5 1時間未満 初心者へのやさしさ 72/100
siyuan-note/bazaar#2405 ·
メンテナーはふだん 1 日以内に返信