aws / aws/aws-durable-execution-sdk-python
revisit locking strategy in local runner
- Lingua principale
- Python
- Stelle
- 53
- Fork
- 25
- Merge medio
- 1g 19h
- PR unite (30g)
- 40
Descrizione
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_
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia individuando il runner locale e i metodi get_navigable, quindi traccia il modo in cui l'esecuzione basata sulle lane serializza le scritture di Checkpoint eseguite da CheckpointTask. Determina se _state_lock è ridondante per queste letture e scritture. Il lavoro è completato quando la strategia di locking viene semplificata solo dove è sicuro farlo e la rimozione dei lock ridondanti è chiaramente separata dal refactoring più ampio.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- python
- Ambito
- backend
- Tipo di issue
- Refactoring
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Da chiarire
- Idoneità per principianti
- 38/100