The new SeparateBodyFileCache design makes updates/reads non-atomic
まだ誰も着手していません。
- #435 @princ0301 による — マージされずにクローズ
評価
調査の方向性
まず、issue に記載されている SeparateBodyFileCache の設計と、#325 の関連する議論を確認します。プロセスがクラッシュした場合や複数のプロセスがキャッシュディレクトリを共有する場合に、メタデータと body の読み取りおよび書き込みがどのように動作すべきかを定義します。不完全なエントリが有効なキャッシュエントリとして認識されず、両方の操作がアトミックであれば完了です。
索引モデルが issue の本文から書いたものです。
説明
The problem
Scenario 1
Program crashes after writing metadata but before writing body. Now the cache thinks the body is empty.
Scenario 2
Multiple processes using the same cache directory. Process A writes metadata, but not yet body. Process B gets metadata, then gets body, and now it thinks the body is empty.
Workarounds
For pip I added logic that basically pretends a cache entry is missing if it doesn't have both body and metadata files.
Solutions
Probably need both a new API that involves writing and reading both at once, and an implementation that makes sure that's atomic. See also the somewhat related #325.
- 主要言語
- Python
- スター
- 505
- フォーク
- 153
- 平均マージ
- 5日 6時間
- マージ済み PR(30日)
- 5
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートなし
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
psf/cachecontrol のほかの issue
-
Cache Deserialization (part two) -- warning message incorrect?再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
psf/cachecontrol#209 · コメント 5 件 ·
-
Race condition in send()対応中かも @JulienPalard が 147 日前に担当しました。 オープン
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
psf/cachecontrol#424 · コメント 1 件 ·
-
HTTP 302 Found responses with Cache Headers not being cached対応中かも @cburroughs が 280 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 42/100
psf/cachecontrol#384 · コメント 18 件 ·
-
Head request is not cached even with cacheable_methods=("GET", HEAD") without a previous GET再び着手できるかも このイシューのプルリクエストはマージされずにクローズされました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 35/100
psf/cachecontrol#337 · コメント 6 件 ·
-
Investigate failure to load caches above `2^32 - 1` bytes再び着手できるかも @woodruffw が 853 日前に担当しましたが、オープン中のプルリクエストはありません。 オープン
psf/cachecontrol#336 · コメント 4 件 · リアクション 1 件 · 担当者 1 名 ·
psf/cachecontrol の issue をすべて見る
似ている issue
-
[Bug]: Streamed /v1/chat/completions sends unredacted agent error text (keys) in the final chunk対応中かも @rodricksz4h5 が今日担当しました。 オープンarea/streaming comp/gateway P2 type/security
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
NousResearch/hermes-agent#138245 ·
メンテナーはふだん 1 日以内に返信
-
[oblt-aw][autodoc] Update user onboarding guide for mandatory trigger CODEOWNERS step対応中かも @github-actions が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 66/100
メンテナーはふだん 1 日以内に返信
-
correction metadata
難易度 2/5 1時間未満 初心者へのやさしさ 68/100
acl-org/acl-anthology#10378 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
cloudtrail_multi_region_enabled_logging_management_events fails when the advanced event selector has a custom name対応中かも @12YYCCYY16 が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
prowler-cloud/prowler#13033 ·
メンテナーはふだん 1 日以内に返信
-
enhancement
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
graygarbage/HermesKey#23 ·