aws / aws/aws-durable-execution-sdk-python
revisit locking strategy in local runner
- 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