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

Configure the Default Revalidate #8880

Merged
merged 3 commits into from
Sep 27, 2019
Merged

Conversation

Timer
Copy link
Member

@Timer Timer commented Sep 27, 2019

The default revalidate behavior should be configured by Next.js. Otherwise, the behavior might drift or change in non-semver compliant ways between Next.js and the builder (or other 3rd party setups).

The default revalidate behavior should be configured by Next.js. Otherwise, the behavior might drift or change in non-semver compliant ways between Next.js and the builder (or other 3rd party setups).
@ijjk
Copy link
Member

ijjk commented Sep 27, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js default-revalidate Change
buildDuration 16.1s 16.2s ⚠️ +95ms
nodeModulesSize 48.2 MB 48.2 MB ⚠️ +865 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js default-revalidate Change
main-HASH.js 18.3 kB 18.3 kB
main-HASH.js gzip 6.64 kB 6.64 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..2ca0edb75.js 43.2 kB 43.2 kB
de003c3a9d30..db75.js gzip 15.5 kB 15.5 kB
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
Overall change 210 kB 210 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js default-revalidate Change
main-HASH.module.js 16.5 kB 16.5 kB
main-HASH.module.js gzip 6.39 kB 6.39 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..c0.module.js 45.6 kB 45.6 kB
de003c3a9d30..dule.js gzip 16.5 kB 16.5 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 189 kB 189 kB
Client Pages
zeit/next.js canary Timer/next.js default-revalidate Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary Timer/next.js default-revalidate Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary Timer/next.js default-revalidate Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Rendered Page Sizes
zeit/next.js canary Timer/next.js default-revalidate Change
index.html 3.62 kB 3.62 kB
index.html gzip 947 B 947 B
link.html 3.66 kB 3.66 kB
link.html gzip 955 B 955 B
withRouter.html 3.67 kB 3.67 kB
withRouter.html gzip 943 B 943 B
Overall change 10.9 kB 10.9 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js default-revalidate Change
buildDuration 17.5s 16.6s -862ms
nodeModulesSize 48.2 MB 48.2 MB ⚠️ +865 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js default-revalidate Change
main-HASH.js 18.3 kB 18.3 kB
main-HASH.js gzip 6.64 kB 6.64 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..2ca0edb75.js 43.2 kB 43.2 kB
de003c3a9d30..db75.js gzip 15.5 kB 15.5 kB
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
Overall change 210 kB 210 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js default-revalidate Change
main-HASH.module.js 16.5 kB 16.5 kB
main-HASH.module.js gzip 6.39 kB 6.39 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..c0.module.js 45.6 kB 45.6 kB
de003c3a9d30..dule.js gzip 16.5 kB 16.5 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 189 kB 189 kB
Client Pages
zeit/next.js canary Timer/next.js default-revalidate Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary Timer/next.js default-revalidate Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary Timer/next.js default-revalidate Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Serverless bundles Overall increase ⚠️
zeit/next.js canary Timer/next.js default-revalidate Change
_error.js 253 kB 253 kB ⚠️ +475 B
_error.js gzip 67.6 kB 67.8 kB ⚠️ +139 B
hooks.html 3.75 kB 3.75 kB
hooks.html gzip 980 B 980 B
index.js 253 kB 254 kB ⚠️ +475 B
index.js gzip 68 kB 68.1 kB ⚠️ +139 B
link.js 261 kB 261 kB ⚠️ +475 B
link.js gzip 70 kB 70.1 kB ⚠️ +138 B
routerDirect.js 254 kB 254 kB ⚠️ +475 B
routerDirect.js gzip 68 kB 68.1 kB ⚠️ +139 B
withRouter.js 254 kB 254 kB ⚠️ +475 B
withRouter.js gzip 68.1 kB 68.2 kB ⚠️ +138 B
Overall change 1.28 MB 1.28 MB ⚠️ +2.38 kB

Commit: 7c8499c

// By default, we revalidate after 1 second. This value is optimal for
// the most up-to-date page possible, but without a 1-to-1
// request-refresh ratio.
data.revalidate = 1
Copy link
Member

Choose a reason for hiding this comment

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

I'm still not sure if this is the best idea

Copy link
Member Author

Choose a reason for hiding this comment

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

I thought this was the value we settled on after discussion with @rauchg. One second seems to be the best value if we don't want the user to have to configure it -- I think it should "just work" out-of-the-box (not require you specify it), and this value does that.

Copy link
Member Author

@Timer Timer Sep 27, 2019

Choose a reason for hiding this comment

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

It's also the biggest "wow factor" 🤔. As in, "wow my website updates so fast and it's always a CDN HIT", 😆.

@ijjk
Copy link
Member

ijjk commented Sep 27, 2019

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js default-revalidate Change
buildDuration 15.4s 15.4s -93ms
nodeModulesSize 48.2 MB 48.2 MB ⚠️ +865 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js default-revalidate Change
main-HASH.js 18.3 kB 18.3 kB
main-HASH.js gzip 6.64 kB 6.64 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..2ca0edb75.js 43.2 kB 43.2 kB
de003c3a9d30..db75.js gzip 15.5 kB 15.5 kB
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
Overall change 210 kB 210 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js default-revalidate Change
main-HASH.module.js 16.5 kB 16.5 kB
main-HASH.module.js gzip 6.39 kB 6.39 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..c0.module.js 45.6 kB 45.6 kB
de003c3a9d30..dule.js gzip 16.5 kB 16.5 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 189 kB 189 kB
Client Pages
zeit/next.js canary Timer/next.js default-revalidate Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary Timer/next.js default-revalidate Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary Timer/next.js default-revalidate Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Rendered Page Sizes
zeit/next.js canary Timer/next.js default-revalidate Change
index.html 3.62 kB 3.62 kB
index.html gzip 947 B 947 B
link.html 3.66 kB 3.66 kB
link.html gzip 955 B 955 B
withRouter.html 3.67 kB 3.67 kB
withRouter.html gzip 943 B 943 B
Overall change 10.9 kB 10.9 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
zeit/next.js canary Timer/next.js default-revalidate Change
buildDuration 15.7s 15.4s -260ms
nodeModulesSize 48.2 MB 48.2 MB ⚠️ +865 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js default-revalidate Change
main-HASH.js 18.3 kB 18.3 kB
main-HASH.js gzip 6.64 kB 6.64 kB
webpack-HASH.js 1.53 kB 1.53 kB
webpack-HASH.js gzip 746 B 746 B
4952ddcd88e7..2b8407376.js 21.9 kB 21.9 kB
4952ddcd88e7..7376.js gzip 7.81 kB 7.81 kB
de003c3a9d30..2ca0edb75.js 43.2 kB 43.2 kB
de003c3a9d30..db75.js gzip 15.5 kB 15.5 kB
framework.5b..dbaff70d3.js 125 kB 125 kB
framework.5b..70d3.js gzip 39.4 kB 39.4 kB
Overall change 210 kB 210 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js default-revalidate Change
main-HASH.module.js 16.5 kB 16.5 kB
main-HASH.module.js gzip 6.39 kB 6.39 kB
webpack-HASH.module.js 1.53 kB 1.53 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..c0.module.js 45.6 kB 45.6 kB
de003c3a9d30..dule.js gzip 16.5 kB 16.5 kB
framework.5b..d3.module.js 125 kB 125 kB
framework.5b..dule.js gzip 39.4 kB 39.4 kB
Overall change 189 kB 189 kB
Client Pages
zeit/next.js canary Timer/next.js default-revalidate Change
_app.js 1.81 kB 1.81 kB
_app.js gzip 873 B 873 B
_error.js 12 kB 12 kB
_error.js gzip 4.73 kB 4.73 kB
hooks.js 12.7 kB 12.7 kB
hooks.js gzip 4.79 kB 4.79 kB
index.js 318 B 318 B
index.js gzip 222 B 222 B
link.js 8.14 kB 8.14 kB
link.js gzip 3.5 kB 3.5 kB
routerDirect.js 408 B 408 B
routerDirect.js gzip 281 B 281 B
withRouter.js 419 B 419 B
withRouter.js gzip 280 B 280 B
Overall change 35.8 kB 35.8 kB
Client Pages Modern
zeit/next.js canary Timer/next.js default-revalidate Change
_app.module.js 1.7 kB 1.7 kB
_app.module.js gzip 832 B 832 B
_error.module.js 23.3 kB 23.3 kB
_error.module.js gzip 8.59 kB 8.59 kB
hooks.module.js 1.52 kB 1.52 kB
hooks.module.js gzip 793 B 793 B
index.module.js 294 B 294 B
index.module.js gzip 223 B 223 B
link.module.js 8.53 kB 8.53 kB
link.module.js gzip 3.68 kB 3.68 kB
routerDirect.module.js 394 B 394 B
routerDirect..dule.js gzip 281 B 281 B
withRouter.module.js 404 B 404 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 36.1 kB 36.1 kB
Client Build Manifests
zeit/next.js canary Timer/next.js default-revalidate Change
_buildManifest.js 81 B 81 B
_buildManifest.js gzip 61 B 61 B
_buildManifest.module.js 81 B 81 B
_buildManife..dule.js gzip 61 B 61 B
Overall change 162 B 162 B
Serverless bundles Overall increase ⚠️
zeit/next.js canary Timer/next.js default-revalidate Change
_error.js 253 kB 253 kB ⚠️ +475 B
_error.js gzip 67.8 kB 67.9 kB ⚠️ +134 B
hooks.html 3.75 kB 3.75 kB
hooks.html gzip 980 B 980 B
index.js 253 kB 254 kB ⚠️ +475 B
index.js gzip 68.1 kB 68.2 kB ⚠️ +135 B
link.js 261 kB 261 kB ⚠️ +475 B
link.js gzip 70.1 kB 70.2 kB ⚠️ +136 B
routerDirect.js 254 kB 255 kB ⚠️ +475 B
routerDirect.js gzip 68.1 kB 68.3 kB ⚠️ +136 B
withRouter.js 254 kB 255 kB ⚠️ +475 B
withRouter.js gzip 68.2 kB 68.3 kB ⚠️ +134 B
Overall change 1.28 MB 1.28 MB ⚠️ +2.38 kB

Commit: b289dac

Copy link
Member

@ijjk ijjk left a comment

Choose a reason for hiding this comment

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

After discussion, it sounds like this should be a good default

@Timer Timer merged commit 2aa1203 into vercel:canary Sep 27, 2019
@Timer Timer deleted the default-revalidate branch September 27, 2019 17:36
@vercel vercel locked as resolved and limited conversation to collaborators Feb 1, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants