Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Deploy with minInstances throws an error for framework deployment #7042

Open
Thaigun opened this issue Apr 24, 2024 · 2 comments
Open

Deploy with minInstances throws an error for framework deployment #7042

Thaigun opened this issue Apr 24, 2024 · 2 comments

Comments

@Thaigun
Copy link

Thaigun commented Apr 24, 2024

[REQUIRED] Environment info

firebase-tools: 13.7.1

Platform: Ubuntu

[REQUIRED] Test case

Adding this configuration in firebase.json to you Firebase hosted Next.js project causes some inconveniences:

"frameworksBackend": {
    "minInstances": 1
}

I think it adds, hidden from the developer, something like this to the deployment configuration (https://firebase.google.com/docs/hosting/full-config#rewrite-cloud-run-container) :

"hosting": {
 // ...

 // Directs all requests from the page `/helloworld` to trigger and run a `helloworld` container
 "rewrites": [ {
   "source": "/helloworld",
   "run": {
     "serviceId": "helloworld",  // "service name" (from when you deployed the container image)
     "pinTag": true
   }
 } ]
}

Related items: #6484 and #6684

[REQUIRED] Steps to reproduce

  1. Make a new Firebase hosting Next.js project, for example with firebase init hosting
  2. Add the aforementioned minInstances setting to your hosting configuration.
  3. Deploy

[REQUIRED] Expected behavior

Successful deploys with no errors. Alternatively, a warning stating that pinTag was not set if that's what happens. Maybe remove pinTag: true from wherever it's set or allow setting pinTag: false in the frameworks configuration.

[REQUIRED] Actual behavior

The deploy script prints the following error:

Error: Function ssrhelloworld has minInstances set and is in a rewrite pinTags=true. These features are not currently compatible with each other..

However, when viewing the Function and associated Cloud Run, minInstances seem to be set and the deploy is successful. A tag is not associated with the revision. Here's a screenshot from the page of the associated Cloud Run:

@Thaigun
Copy link
Author

Thaigun commented Apr 25, 2024

I learnt some more about what happens. While a new revision is created, traffic actually doesn't route there as far as I can tell. I found out by my deleting the previous revision (which did not have minInstances) which immediately broke our site.

Anyway; would be nice to be able to deploy a site that does not suffer from cold starts.

@jasan-s
Copy link

jasan-s commented Apr 30, 2024

so what is recommended never set minInstances or set pingTags to false ?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants