aws / aws/aws-durable-execution-sdk-python

revisit locking strategy in local runner

オープン
#639 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
pkg:testing
主要言語
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

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

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