A reference to a record of a spec the workspace does not run raises a bare KeyError
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 74/100
Piste de recherche
Commencez dans workspace.py, à Workspace._check_reads, et suivez la manière dont _source_spec et _bindings traitent un enregistrement référencé dont la spec n’est pas liée. Vérifiez les tests d’erreur de soumission et le chemin de redémarrage pour les enregistrements en attente. Le travail est terminé lorsque la soumission signale un SubmitError indiquant le paramètre et la spec manquante ; en cas d’échec du redémarrage, l’issue permet soit le même motif, soit un refus de s’ouvrir.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
A request that references a record whose spec the workspace does not run is refused with a bare KeyError, not a SubmitError with a reason:
# workspace A runs DETECTOR and MASKS and persists a detector record.
# workspace B is opened on the same log and store, with MASKS only.
client_b.submit(MASKS, params={'detector': detector.ref('detector'), ...})
# KeyError: SpecId(name='loki-calibrated-detector', version=1)
The lookup is in Workspace._check_reads (workspace.py):
source = self._source_spec(ref, loc, also)
check_fit(self._bindings[source].spec, ref, tp, loc)
The same missing binding has a second effect: a workspace that restarts with pending records of a spec it does not run fails each of them with the reason KeyError: SpecId(...).
Expected: the submit is refused with a SubmitError that names the parameter and says the workspace does not run the spec of the referenced record. For the restart, either the same reason on the failed record, or a refusal to open.
Found while reviewing #174. essapps-batch requires --bind so that the usual way to reach this is closed, but any workspace opened with fewer bindings than its log has specs can reach it.
- Langage dominant
- Python
- Étoiles
- 0
- Forks
- 1
- Merge moyen
- 8 h 48 min
- PR mergées (30 j)
- 70
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Aucun modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de scipp/essapps
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
A number that is not finite is stored as None at a field that accepts NonePeut-être pris @jeevanabhi-r l’a pris il y a 6 jours. Ouvertebug
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
scipp/essapps#140 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 32/100
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 5/5 Plus d'une semaine Accessibilité débutants 25/100
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de scipp/essapps
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
FAIRmat-NFDI/pynxtools#861 ·
-
Difficulté 2/5 1-3 heures Accessibilité débutants 76/100
NVIDIA/nsight-python#88 ·
Les mainteneurs répondent en général sous 1 jour
-
Criteria can pass when the deliverable is missingPeut-être pris @clementtisseau l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
harveyai/harvey-labs#217 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
Les mainteneurs répondent en général sous 1 jour
-
priority/medium roadmap/v1.1.1 stakeholder/rapr type/bug
Difficulté 2/5 1-3 heures Accessibilité débutants 83/100
databrickslabs/ontos#1420 ·
Les mainteneurs répondent en général sous 3 jours