Improper lock usage leads to inode overflow in LockLocalStorage implementation
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
- #2172 @Sanjays2402 による — マージされずにクローズ
評価
調査の方向性
libcloud/storage/drivers/local.py のローカルドライバーの exit メソッドから始め、InterProcessLock がロックを解放した後にロックファイル名がどのように扱われるかを確認してください。焦点を絞ったテストまたは再現で動作を確認し、その後、解放されたロックファイルが /tmp に残らなくなっていることを、存在しないファイルのクリーンアップに影響を与えずに検証してください。
索引モデルが issue の本文から書いたものです。
説明
Summary
Behaviour of fasteners.InterProcessLock is pretty weird: class creates a lockfile by provided path, if it doesn't exist, but not manage to remove it after lock is released.
It may lead to uncontrolled lockfiles spam in /tmp folder just because libcloud local driver is not removing this lockfile either.
Detailed Information
This issue encountered in cassandra-medusa v0.15 and lower, which was using apache-libcloud<3.4.0,>=3.3.0 as a dependency.
Please see https://github.com/thelastpickle/cassandra-medusa/issues/528 for more details.
Seems like the lightweight fix is to run
with contextlib.suppress(FileNotFoundError):
os.remove(filename)
just right in the exit method.
- 主要言語
- Python
- スター
- 2.1k
- フォーク
- 935
- 平均マージ
- 5日 3時間
- マージ済み PR(30日)
- 15
環境構築
- Dockerfile・Docker Compose ファイルなし
- プルリクエストのテンプレートあり
- コントリビューションガイドを読む
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
apache/libcloud のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 76/100
メンテナーはふだん 1 日以内に返信
-
難易度 1/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信
-
Local range download leaves an output file after source-read failure despite delete_on_failure=Trueオープン
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 15/100
apache/libcloud#2215 · コメント 3 件 · リアクション 2 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 5/5 1週間以上 初心者へのやさしさ 35/100
メンテナーはふだん 1 日以内に返信
apache/libcloud の issue をすべて見る
似ている issue
-
Email validation accepts a trailing newline対応中かも @marcello-pichini が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
dbt-labs/spark-utils#51 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 85/100
メンテナーはふだん 1 日以内に返信
-
bug frontend
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
vendrabuck/HERD#1419 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
メンテナーはふだん 1 日以内に返信