Retry run-time dataset downloads, and move latest only after a deploy's checks
Les mainteneurs répondent en général sous 2 jours
Évaluation
- Difficulté
- 4/5
- Temps estimé
- 3-5 jours
- Accessibilité débutants
- 35/100
- Type d'issue
- Bug
- Clarté
- Clairement spécifiée
- Activité
- À l'abandon
- Stack technique
- github-actions, google-cloud, python
- Domaine
- backend-api-design, ci-cd, devops
Piste de recherche
Start with the failed release run and inspect the runtime dataset download in policyengine.py 6.12.1, then trace the routing finalizer, "Publish routing after all services pass," and simulation-deployment-ready.sh in the deployment workflow. Check linked pull request #1023 for current work. Done means downloads retry only the specified transient failures, routing publication and latest promotion follow the described order, and rerunning failed jobs completes the deploy.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
Release run 42040665530 (attempt 1) failed one staging integration test, test_calculate_uk_local_area_breakdown, because the executor timed out reading the UK local-area dataset from Hugging Face's CDN (requests.exceptions.ConnectionError: ... Read timed out.). A dataset other than the image's default is downloaded into a temporary folder by each new container, and policyengine.py 6.12.1 makes a single request per file with no retry.
Because a check failed, the routing finalizer restored staging's routing and recorded "restored". Attempt 2 ("Re-run failed jobs") passed every check, but the job "Publish routing after all services pass" had succeeded in attempt 1 and did not run again, so the finalizer returned attempt 1's recorded "restored", and simulation-deployment-ready.sh, which requires "completed", failed. Re-running only the failed jobs cannot complete such a deploy.
What should change
- Retry the executor's run-time dataset load with bounded backoff on connection errors, read timeouts and 5xx responses, never retrying 401, 403, 404 or a SHA-256 mismatch, and never reusing a partial download.
- Split the routing publication:
- Before the checks, publish only the release's routes (its policyengine.py version and its US and UK model versions, mapped to the deployed app) and its bundle manifest, leaving
latest. - After every check and the Cloud Run promotion, move
latestwhen the release is newer, check that unpinned requests reach the release, and putlatestback if that check fails. - "Re-run failed jobs" then completes a deploy without republishing the routes, and no "restored" outcome from an earlier attempt remains.
- Before the checks, publish only the release's routes (its policyengine.py version and its US and UK model versions, mapped to the deployed app) and its bundle manifest, leaving
- Langage dominant
- Python
- Étoiles
- 1
- Forks
- 1
- Merge moyen
- 1 j 23 h
- PR mergées (30 j)
- 89
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un 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 PolicyEngine/policyengine-sim-api
-
Update policyengine to 6.7.3Peut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 2/5 Une demi-journée Accessibilité débutants 70/100
PolicyEngine/policyengine-sim-api#823 ·
Les mainteneurs répondent en général sous 2 jours
-
Integration tests fail due to missing UV virtual environment setupPeut-être pris Une pull request liée à cette issue est ouverte ou déjà fusionnée. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
PolicyEngine/policyengine-sim-api#314 ·
Les mainteneurs répondent en général sous 2 jours
-
Records written during a gateway request carry the route <unmatched>Peut-être pris @anth-volk l’a pris aujourd’hui. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 30/100
PolicyEngine/policyengine-sim-api#1018 ·
Les mainteneurs répondent en général sous 2 jours
-
Update policyengine to 6.15.0Peut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 1/5 Moins d'une heure Accessibilité débutants 1/100
PolicyEngine/policyengine-sim-api#1014 ·
Les mainteneurs répondent en général sous 2 jours
-
Move the simulation executor to policyengine.py 6.14.0 and keep accepting US 2022 and 2023Peut-être à nouveau libre Une pull request pour cette issue a été fermée sans être fusionnée. Ouverte
Difficulté 3/5 1-2 jours Accessibilité débutants 25/100
PolicyEngine/policyengine-sim-api#1012 ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de PolicyEngine/policyengine-sim-api
Issues similaires
-
[BUG]: Compliance rules never see Unity Catalog views as viewsPeut-être pris @wagnercsantos l’a pris aujourd’hui. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
databrickslabs/ontos#1348 ·
Les mainteneurs répondent en général sous 3 jours
-
`forum_pr_poster` action will always return `none` when checking for pre-existing feedback threads, even if a feedback thread already exists.Peut-être pris @pgmzeta l’a pris aujourd’hui. OuverteE-Verified P-Major
Difficulté 2/5 1-3 heures Accessibilité débutants 79/100
goonstation/goonstation#28259 ·
Les mainteneurs répondent en général sous 2 jours
-
enhancement
Difficulté 2/5 1-3 heures Accessibilité débutants 65/100
woonstadrotterdam/monumenten#70 ·
Les mainteneurs répondent en général sous 15 jours
-
binding:python bug
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
Les mainteneurs répondent en général sous 1 jour
-
The Browser tab fails with a Wayland error when Open Terminal runs from a Wayland desktop sessionOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 78/100
open-webui/open-terminal#210 ·