Upgrade the v1 Cloud SQL schema and seed the v2 database side by side in the release run
Maintainer antworten meist innerhalb von 2 Tagen
Bewertung
- Schwierigkeit
- 3/5
- Geschätzter Aufwand
- 1-2 Tage
- Anfängerfreundlichkeit
- 25/100
Rechercherichtung
Read the workflow files migrate-v1-cloud-sql.yml and seed-v2-database.yml, then inspect the staging and candidate deploy dependencies described in the issue. Start by comparing the staging and production job dependencies; done means both database jobs can start together in each environment, candidates still wait for both, and the migration skill documents the parallel order and partial-upgrade outcome. Pull request #4130 is already open.
Vom Indexierungsmodell aus dem Issue-Text verfasst.
Beschreibung
Problem
In a Public API release run, seed-v2-staging-database needs migrate-v1-staging-cloud-sql, and seed-v2-production-database needs migrate-v1-production-cloud-sql, so each environment's v1 schema upgrade (about 2 minutes) and v2 seeding (about 6 minutes) run one after the other, on the path to production.
Neither job reads the other's database:
migrate-v1-cloud-sql.ymlsigns in to Google Cloud with the database migration service account, starts the Cloud SQL Auth Proxy, and runsmigrate_v1_cloud_sql.sh, which reads the Cloud SQL migration credentials from Secret Manager, takes a backup when revisions are pending, upgrades and verifies the v1 schema.seed-v2-database.ymlhas no Google Cloud sign-in, no Cloud SQL proxy and no v1 credentials. Its steps (validate_database_environment.sh supabase, the threequalify_v2_*scripts,migrate_v2_metadata_schema.sh,reconcile_v2_privileges.pyandpublish_v2_metadata_catalog.py) read onlyV2_MIGRATION_DATABASE_URLorV2_DATA_WRITE_DATABASE_URL, and import only v2 modules.
The order came in with the Stage 9 catalog (#3808, 78e380bbd), when the seeding job's predecessor waited for the single v1 upgrade job of the time; the production one did not wait for any v1 upgrade. #3813 (f410bcac1) split the v1 upgrade per environment and made both seeding jobs wait for theirs. Neither pull request nor the migration docs give a reason; docs/migration/stage-10-v2-policies.md and stage-11-v2-households.md only require both schemas before the candidate is built.
Expected behaviour
- In each environment, the v1 upgrade and the v2 seeding start together.
- Each Cloud Run candidate deploy needs both, so no candidate is built until both databases are upgraded.
deploy-cloud-run-stagingalready needs both;deploy-cloud-run-candidateneeds the production v1 upgrade as well as the production seeding. - Both jobs keep their environments (
staging-databaseorproduction-databasefor the v1 upgrade,stagingorproductionfor the seeding) andsecrets: inherit. docs/engineering/skills/alembic-migrations.mdrecords the order, and that a release that stops can leave either database upgraded without the other.
Expected saving: about 3.8 minutes per release (the measured v1 upgrade times, 2.0 in staging and 1.8 in production).
- Vorherrschende Sprache
- Python
- Sterne
- 18
- Forks
- 33
- Ø Merge
- 2 T. 3 Std.
- Gemergte PRs (30 T.)
- 72
Entwicklungsumgebung
- Kein Dockerfile und keine Docker-Compose-Datei
- Hat eine Pull-Request-Vorlage
- Beitragsleitfaden lesen
Erste Schritte
- Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
- Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
- Forken Sie das Repository und arbeiten Sie in einem Branch.
- Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.
Mehr aus PolicyEngine/policyengine-api
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 76/100
PolicyEngine/policyengine-api#4037 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 1/5 1-3 Stunden Anfängerfreundlichkeit 88/100
PolicyEngine/policyengine-api#3911 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Schwierigkeit 1/5 Unter einer Stunde Anfängerfreundlichkeit 82/100
PolicyEngine/policyengine-api#3910 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Run the full-catalog integration tests only when a change can affect themEvtl. vergeben @anth-volk hat das heute übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
PolicyEngine/policyengine-api#4149 ·
Maintainer antworten meist innerhalb von 2 Tagen
-
Split the pull request tests into the same six shards as the release testsEvtl. vergeben @anth-volk hat das vor 1 Tag übernommen. Offen
Schwierigkeit 4/5 3-5 Tage Anfängerfreundlichkeit 25/100
PolicyEngine/policyengine-api#4144 ·
Maintainer antworten meist innerhalb von 2 Tagen
Alle Issues in PolicyEngine/policyengine-api
Ähnliche Issues
-
bug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 74/100
BCDA-APS/polar-bits#93 ·
-
infer_audio_type only recognises one MPEG Layer III frame header, so most MP3 files are rejectedEvtl. vergeben @Steve-20-ai hat das heute übernommen. Offen
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 78/100
Maintainer antworten meist innerhalb von 1 Tag
-
[BUG] - ssh_config `Match tagged` statement always appliesEvtl. vergeben @AtharvRG hat das heute übernommen. OffenBug
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 68/100
paramiko/paramiko#2715 · 1 Kommentar ·
Maintainer antworten meist innerhalb von 9 Tagen
-
auto-rejected intake mcp-intake needs-salvage priority:high type:feature
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 65/100
Ikalus1988/MisakaNet#4221 · 2 Kommentare ·
Maintainer antworten meist innerhalb von 1 Tag
-
Schwierigkeit 2/5 1-3 Stunden Anfängerfreundlichkeit 82/100
Maintainer antworten meist innerhalb von 1 Tag