Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Azure by-hash cleanup can't read its link metadata

オープン 初心者向け
#1,653 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
76/100
issue の種類
バグ
明瞭さ
明確に書かれている
活発さ
活発
技術スタック
azure, go
領域
backend, cloud

調査の方向性

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 を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

aptly-dev/aptly のほかの issue

aptly-dev/aptly の issue をすべて見る

似ている issue

Go の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。