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

revisit locking strategy in local runner

Aperta
#639 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
pkg:testing
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

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.