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

Update to prevent re-using workers for getStaticPaths in dev mode #11347

Merged
merged 1 commit into from Mar 25, 2020

Conversation

ijjk
Copy link
Member

@ijjk ijjk commented Mar 25, 2020

This removes clearing the cache in the getStaticPaths worker used in development in favor of killing the worker after it has been used so that we ensure we're always calling getStaticPaths in a clean environment. This was initially suggested here although didn't seem worth the extra boot-up time and jest-worker being able to handle the workers being killed in a stable way.

After further investigation it seems killing the worker after each use seems the most ideal to prevent side effects that can't properly be handled like importing specific modules e.g. firebase and properly preventing modules from being cached. It also seems jest-worker is able to handle the worker being killed stably as long as we do it on the next call and not before the current call has finished

x-ref: #10611
x-ref: #10852
Fixes: #11339

@ijjk ijjk added the kind: bug Confirmed bug that is on the backlog label Mar 25, 2020
@ijjk ijjk added this to the 9.3.2 milestone Mar 25, 2020
@ijjk
Copy link
Member Author

ijjk commented Mar 25, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
buildDuration 10.9s 11s ⚠️ +165ms
nodeModulesSize 53 MB 53 MB -387 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
main-HASH.js gzip 6.24 kB 6.24 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..c6c1.js gzip 10.1 kB 10.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.2 kB 56.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
main-HASH.module.js gzip 4.78 kB 4.78 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.71 kB 6.71 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
_app.js gzip 1.24 kB 1.24 kB
_error.js gzip 3.15 kB 3.15 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 2.03 kB 2.03 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
_app.module.js gzip 594 B 594 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.28 kB 5.28 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Rendered Page Sizes
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
index.html gzip 918 B 918 B
link.html gzip 927 B 927 B
withRouter.html gzip 916 B 916 B
Overall change 2.76 kB 2.76 kB

Serverless Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
buildDuration 11.6s 11.9s ⚠️ +312ms
nodeModulesSize 53 MB 53 MB -387 B
Client Bundles (main, webpack, commons)
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
main-HASH.js gzip 6.24 kB 6.24 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..c6c1.js gzip 10.1 kB 10.1 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 56.2 kB 56.2 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
main-HASH.module.js gzip 4.78 kB 4.78 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.71 kB 6.71 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 51.4 kB 51.4 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
_app.js gzip 1.24 kB 1.24 kB
_error.js gzip 3.15 kB 3.15 kB
hooks.js gzip 664 B 664 B
index.js gzip 222 B 222 B
link.js gzip 2.03 kB 2.03 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 7.86 kB 7.86 kB
Client Pages Modern
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
_app.module.js gzip 594 B 594 B
_error.module.js gzip 2.08 kB 2.08 kB
hooks.module.js gzip 370 B 370 B
index.module.js gzip 212 B 212 B
link.module.js gzip 1.48 kB 1.48 kB
routerDirect..dule.js gzip 271 B 271 B
withRouter.m..dule.js gzip 270 B 270 B
Overall change 5.28 kB 5.28 kB
Client Build Manifests
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
_buildManifest.js gzip 61 B 61 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 122 B 122 B
Serverless bundles Overall increase ⚠️
zeit/next.js canary ijjk/next.js fix/gsp-firebase Change
_error.js gzip 294 kB 293 kB -528 B
404.html gzip 1.32 kB 1.32 kB
hooks.html gzip 959 B 959 B
index.js gzip 294 kB 294 kB ⚠️ +464 B
link.js gzip 301 kB 301 kB -575 B
routerDirect.js gzip 299 kB 300 kB ⚠️ +684 B
withRouter.js gzip 299 kB 299 kB ⚠️ +22 B
Overall change 1.49 MB 1.49 MB ⚠️ +67 B

Copy link
Member

@Timer Timer left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@Timer Timer merged commit 2ba6db6 into vercel:canary Mar 25, 2020
@Timer Timer deleted the fix/gsp-firebase branch March 25, 2020 19:01
@vercel vercel locked as resolved and limited conversation to collaborators Jan 31, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
kind: bug Confirmed bug that is on the backlog
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Issue with getStaticPaths and firebase/firestore
2 participants