aws / aws/aws-durable-execution-sdk-python
revisit locking strategy in local runner
- 主要言語
- Python
- スター
- 53
- フォーク
- 25
- 平均マージ
- 1日 12時間
- マージ済み PR(30日)
- 37
説明
the extra `_state_lock` is actually not necessary, and if anything we could/should _probably_ remove it from get_navigable and friends, reason being the recent lane-based re-architecture isolated an execution into its own lane that serializes Checkpoint writes that run as CheckpointTask on that same lane, so the read and write cannot overlap.
however, that's wider refactor beyond the scope fo this PR, and since the lock is harmless and for the sake of symmetry might as well let it stand as introduced here and then revisit clean-up opportunities for redundant locks throughout later.
_Originally posted by @yaythomas in https://github.com/aws/aws-durable-execution-sdk-python/issues/637#issuecomment-5287117584_
コントリビューションガイド
調査の方向性
まずローカル runner と get_navigable メソッドを見つけ、次に lane ベースの実行が CheckpointTask によって行われる Checkpoint 書き込みをどのようにシリアライズしているかを追跡します。これらの読み取りと書き込みに対して _state_lock が冗長かどうかを判断します。完了条件は、安全な場合に限ってロック戦略を簡素化し、冗長なロックのクリーンアップをより広範なリファクタリングから明確に分離することです。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- python
- 領域
- backend
- issue の種類
- リファクタリング
- 難易度
- 4/5
- 見積もり時間
- 3〜5日
- 活発さ
- 静か
- 明瞭さ
- 説明が足りない
- 初心者へのやさしさ
- 38/100