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

revisit locking strategy in local runner

Ouverte
#639 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
pkg:testing
Langage dominant
Python
Étoiles
54
Forks
24
Merge moyen
1 j 12 h
PR mergées (30 j)
37

Description

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_

Guide de contribution

Ouvrir le guide de contribution

Piste de recherche

Commencez par localiser le runner local et les méthodes get_navigable, puis suivez la manière dont l’exécution basée sur des lanes sérialise les écritures de Checkpoint effectuées par CheckpointTask. Déterminez si _state_lock est redondant pour ces lectures et écritures. Le travail est considéré comme terminé lorsque la stratégie de locking est simplifiée uniquement là où cela est sûr, et que le nettoyage des locks redondants est clairement séparé du refactoring plus large.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
python
Domaine
backend
Type d'issue
Refactorisation
Difficulté
4/5
Temps estimé
3-5 jours
Activité
Calme
Clarté
À clarifier
Accessibilité débutants
38/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.