Comments (8)
I downloaded last night's outputs
> gsutil -m cp -r "gs://builds.catalyst.coop/2024-01-10-0603-d62dd5c42-main" .
Then I added a --build-only
flag to mirror the flyctl deploy --build-only
flag, to see if the build works.
Then I ran
> PUDL_OUTPUT=~/scratch/2023-01-10/2024-01-10-0603-d62dd5c42-main/ python publish.py --build-only
...
which succeeded. Ignore the fact that I got the year wrong in the containing directory 🤦
So I'll re-run it without the build-only flag, and also make a PR for said build-only flag.
from pudl.
Re-ran the full deploy and it all worked! If we keep running into this we should consider how to retry automatically or perhaps bake less data into the docker image.
from pudl.
I'll keep this open until the QOL fix related to this issue gets merged in.
from pudl.
In general when we get a failure like this do we actually want to do the redeploy? How do we ensure that the data that's showing up in Datasette corresponds to the data that shows up under the /nightly
prefix in the distribution buckets and was it generated with the code that's on the nightly
branch? If something post-etl and testing goes awry, do we just investigate and make it internally consistent by hand?
from pudl.
Your worry is that whatever outputs are in builds.catalyst.coop
for this specific build ID doesn't correspond to the outputs that were verified?
I think if you look in the logs, and:
- nothing seems to have gone wrong in the upload to
builds.catalyst
orpudl.catalyst
nightly
points at the correct nightly build tag
Then it's safe to redeploy - of course, assuming nothing goes wrong in the re-download from GCS / the upload to fly.io.
from pudl.
Oh, or are you asking about whether we should automatically try to re-deploy? I think if the error occurs in flyctl deploy
it's worth trying again - everything has passed validation up until that point, you know?
from pudl.
I'm trying to think about how our published outputs / repository could end up being inconsistent with each other, depending on which of the individual sub-tasks has failed, and how we impose consistency after the failure has happened
In this case, the only thing that failed was the Fly.io deployment, and nothing depends on it, so re-deploying Fly.io gets everything back in sync.
But if say, copying from builds.catalyst.coop to pudl.catalyst.coop fails, then the s3 outputs would also be out of sync with what got uploaded to Fly.
from pudl.
Hmm, the fly.io deployment process is from the pre-compressed-outputs days. We could actually have it download the compressed outputs from pudl.catalyst.coop instead of uploading directly from PUDL_OUTPUT - maybe that's more robust?
from pudl.
Related Issues (20)
- Issues setting up PUDL dev environment HOT 6
- core_eia860m__changelog_generators contains NULL valid_until_date values
- Run Q1 2024 Updates for EIA923, EIA860m, CEMS, and EIA Bulk Elec
- Q1-2024 Updates to EIA860m
- Q1-2024 Updates to EIA923
- Q1-2024 Updates to EIA Bulk Electricity
- Q1-2024 Updates to CEMS
- Update Slack upload API for PUDL Deployment Bot
- Duplicate generators in `analysis.allocate_gen_fuel` HOT 1
- Investigate lack of monthly year-to-date data in out_eia923__monthly_generation_fuel_by_generator table
- PUDL Release v2024.5.0
- Create resources for non-urgent AEO Table 54 data
- Update DOI automatically for well-behaved datasets HOT 2
- Publish detailed accounting tables in DB
- Builds initiated via workflow dispatch on main deploy inappropriately
- Small tweaks to FERC rate base categories
- `core_eiaaeo__yearly_projected_fuel_cost_in_electric_sector_by_type` HOT 1
- Update XBRL extraction to handle multiple taxonomies per year
- Add 2019 data to EIA861 Short Form table HOT 2
- Nightly Build Failure 2024-05-28
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pudl.