-
Notifications
You must be signed in to change notification settings - Fork 71
Closed
Labels
priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.Important issue which blocks shipping the next release. Will be fixed prior to next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
Description
This is a bug report companion to #57. Where that issue is focused on an intermittent delay in functionality that we could provide better user feedback around, this issue points out a sustained blocker for demo usage.
Problem
When a new deployment is made to a project the frontend app deployed to Firebase Hosting is stuck in a 404 page.
In theory, this works fine if the user waits long enough before first trying to load the frontend. In practice, that wait appears to be up to a couple minutes and we don't expect folks to wait that long after being told they are ready to go.
Current Workarounds
- Append an arbitrary querystring parameter, e.g.
?cachebuster=42. - Use https://[project-id].firebaseapp.com instead of https://[project-id].web.app
Analysis
This blueprint uses a postdeployment mechanism to run firebase deploy via a GCE startup script.
sequenceDiagram
🏗️ Terraform-->>⚙️ GCE: Start running
⚙️ GCE-->>⚙️ GCE: Run Startup script
⚙️ GCE-->>👟 Cloud Run Jobs: Start Firebase Deployer
👟 Cloud Run Jobs-->>🔥 Firebase Hosting: Start deploy
🏗️ Terraform->> 👤 User: Apply complete!
👤 User->>🔥 Firebase Hosting: Request page<br/>Site not ready
Note right of 👤 User: 404 page stuck in cache
👟 Cloud Run Jobs-->>🔥 Firebase Hosting: Finish deploy
⚙️ GCE-->>⚙️ GCE: shutdown
Potential Fixes
We are still in the expansion/brainstorming phase on potential solutions.
- GCE Startup Script Retries: Check for 404's and retry deploy job. Firebase Hosting redeploy clears cache
- Big Change: Switch to an alternate post-deployment mechanism, such as using Terraform to define and trigger a Cloud Workflow
Metadata
Metadata
Labels
priority: p1Important issue which blocks shipping the next release. Will be fixed prior to next release.Important issue which blocks shipping the next release. Will be fixed prior to next release.type: bugError or flaw in code with unintended results or allowing sub-optimal usage patterns.Error or flaw in code with unintended results or allowing sub-optimal usage patterns.
