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

Propagate Serverless Errors to Platform #12841

Merged
merged 8 commits into from
Jun 1, 2020

Conversation

Timer
Copy link
Member

@Timer Timer commented May 13, 2020

In serverless mode, it's best practice to propagate an unhandled error so that the function is disposed instead of recycled. This helps fix the "bad state" problem.

@ijjk
Copy link
Member

ijjk commented May 13, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall decrease ✓
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 10.7s 11.1s ⚠️ +458ms
nodeModulesSize 58.7 MB 58.7 MB -35 B
Page Load Tests Overall increase ✓
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
/ failed reqs 0 0
/ total time (seconds) 1.915 2.004 ⚠️ +0.09
/ avg req/sec 1305.52 1247.22 -58.3
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.367 1.257 -0.11
/error-in-render avg req/sec 1828.47 1988.13 ⚠️ +159.66
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.68 kB 6.68 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..e49d.js gzip 10.4 kB 10.4 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.72 kB 5.72 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform 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 Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.29 kB 3.29 kB
hooks.js gzip 880 B 880 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 8.26 kB 8.26 kB
Client Pages Modern
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 599 B 599 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform 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 Timer/next.js serverless/propagate-500-to-platform Change
index.html gzip 927 B 927 B
link.html gzip 937 B 937 B
withRouter.html gzip 923 B 923 B
Overall change 2.79 kB 2.79 kB

Serverless Mode (Decrease detected ✓)
General Overall decrease ✓
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 11.4s 11.9s ⚠️ +425ms
nodeModulesSize 58.7 MB 58.7 MB -35 B
Client Bundles (main, webpack, commons)
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.68 kB 6.68 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..e49d.js gzip 10.4 kB 10.4 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.72 kB 5.72 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.85 kB 6.85 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform 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 Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.29 kB 3.29 kB
hooks.js gzip 880 B 880 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 280 B 280 B
withRouter.js gzip 278 B 278 B
Overall change 8.26 kB 8.26 kB
Client Pages Modern
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 599 B 599 B
_error.module.js gzip 2.09 kB 2.09 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 279 B 279 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.37 kB 5.37 kB
Client Build Manifests
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform 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 decrease ✓
zeit/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_error.js 850 kB 850 kB -30 B
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 851 kB 851 kB -30 B
link.js 888 kB 888 kB -30 B
routerDirect.js 880 kB 880 kB -30 B
withRouter.js 880 kB 880 kB -30 B
Overall change 4.36 MB 4.36 MB -150 B

@ijjk
Copy link
Member

ijjk commented May 13, 2020

Failing test suites

test/integration/prerender/test/index.test.js

  • SSG Prerender > enumlated serverless mode > should reload page on failed data request
  • SSG Prerender > enumlated serverless mode > should reload page on failed data request, and retry
Expand output

● SSG Prerender › enumlated serverless mode › should reload page on failed data request

expect(received).not.toBe(expected) // Object.is equality

Expected: not "abc"

  384 |     await browser.elementByCss('#broken-post').click()
  385 |     await waitFor(1000)
> 386 |     expect(await browser.eval('window.beforeClick')).not.toBe('abc')
      |                                                          ^
  387 |   })
  388 | 
  389 |   // TODO: dev currently renders this page as blocking, meaning it shows the

  at Object.<anonymous> (integration/prerender/test/index.test.js:386:58)
      at runMicrotasks (<anonymous>)

● SSG Prerender › enumlated serverless mode › should reload page on failed data request, and retry

expect(received).not.toBe(expected) // Object.is equality

Expected: not "abc"

  395 |       await browser.elementByCss('#broken-at-first-post').click()
  396 |       await waitFor(3000)
> 397 |       expect(await browser.eval('window.beforeClick')).not.toBe('abc')
      |                                                            ^
  398 | 
  399 |       const text = await browser.elementByCss('#params').text()
  400 |       expect(text).toMatch(/post.*?post-999/)

  at Object.<anonymous> (integration/prerender/test/index.test.js:397:60)
      at runMicrotasks (<anonymous>)

Copy link
Member

@timneutkens timneutkens left a comment

Choose a reason for hiding this comment

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

This needs a few tests

@Timer Timer changed the title Propagate Serverless Errors to Platform [WIP] Propagate Serverless Errors to Platform May 18, 2020
@Timer Timer modified the milestones: 9.4.2, 9.4.3 May 18, 2020
@Timer Timer self-assigned this May 23, 2020
@Timer Timer modified the milestones: 9.4.3, 9.4.4 May 28, 2020
@Timer Timer force-pushed the serverless/propagate-500-to-platform branch from 7a1aaef to f31783f Compare June 1, 2020 14:34
@Timer Timer changed the title [WIP] Propagate Serverless Errors to Platform Propagate Serverless Errors to Platform Jun 1, 2020
@Timer Timer requested a review from timneutkens June 1, 2020 15:05
@Timer Timer dismissed timneutkens’s stale review June 1, 2020 15:55

added tests

@ijjk
Copy link
Member

ijjk commented Jun 1, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 11.9s 12.3s ⚠️ +379ms
nodeModulesSize 65.2 MB 65.2 MB ⚠️ +614 B
Page Load Tests Overall increase ✓
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
/ failed reqs 0 0
/ total time (seconds) 2.074 2.043 -0.03
/ avg req/sec 1205.2 1223.53 ⚠️ +18.33
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.211 1.184 -0.03
/error-in-render avg req/sec 2063.85 2110.87 ⚠️ +47.02
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.59 kB 6.59 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..8679.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.67 kB 5.67 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.92 kB 6.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.25 kB 3.25 kB
hooks.js gzip 881 B 881 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 8.22 kB 8.22 kB
Client Pages Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 604 B 604 B
_error.module.js gzip 2.04 kB 2.04 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.33 kB 5.33 kB
Client Build Manifests
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform 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
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
index.html gzip 927 B 927 B
link.html gzip 937 B 937 B
withRouter.html gzip 923 B 923 B
Overall change 2.79 kB 2.79 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 13.1s 13.9s ⚠️ +793ms
nodeModulesSize 65.2 MB 65.2 MB ⚠️ +614 B
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.59 kB 6.59 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..8679.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.67 kB 5.67 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.92 kB 6.92 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.25 kB 3.25 kB
hooks.js gzip 881 B 881 B
index.js gzip 222 B 222 B
link.js gzip 2.06 kB 2.06 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 8.22 kB 8.22 kB
Client Pages Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 604 B 604 B
_error.module.js gzip 2.04 kB 2.04 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.52 kB 1.52 kB
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.33 kB 5.33 kB
Client Build Manifests
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform 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 ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_error.js 877 kB 877 kB ⚠️ +137 B
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 877 kB 877 kB ⚠️ +137 B
link.js 915 kB 915 kB ⚠️ +137 B
routerDirect.js 907 kB 907 kB ⚠️ +137 B
withRouter.js 907 kB 907 kB ⚠️ +137 B
Overall change 4.49 MB 4.49 MB ⚠️ +685 B

@Timer Timer force-pushed the serverless/propagate-500-to-platform branch from 9edc409 to 90c9b15 Compare June 1, 2020 22:03
@ijjk
Copy link
Member

ijjk commented Jun 1, 2020

Stats from current PR

Default Server Mode (Decrease detected ✓)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 13.1s 12.9s -246ms
nodeModulesSize 65.3 MB 65.3 MB ⚠️ +2.8 kB
Page Load Tests Overall decrease ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
/ failed reqs 0 0
/ total time (seconds) 2.235 2.275 ⚠️ +0.04
/ avg req/sec 1118.62 1098.72 -19.9
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.449 1.477 ⚠️ +0.03
/error-in-render avg req/sec 1725.69 1692.69 -33
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.59 kB 6.59 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..6c2a.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.67 kB 5.67 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.93 kB 6.93 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.25 kB 3.25 kB
hooks.js gzip 881 B 881 B
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 8.21 kB 8.21 kB
Client Pages Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 604 B 604 B
_error.module.js gzip 2.04 kB 2.04 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.32 kB 5.32 kB
Client Build Manifests
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform 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
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
index.html gzip 925 B 925 B
link.html gzip 935 B 935 B
withRouter.html gzip 923 B 923 B
Overall change 2.78 kB 2.78 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 14.2s 13.9s -266ms
nodeModulesSize 65.3 MB 65.3 MB ⚠️ +2.8 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.59 kB 6.59 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..6c2a.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.67 kB 5.67 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.93 kB 6.93 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.25 kB 3.25 kB
hooks.js gzip 881 B 881 B
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 8.21 kB 8.21 kB
Client Pages Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 604 B 604 B
_error.module.js gzip 2.04 kB 2.04 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.32 kB 5.32 kB
Client Build Manifests
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform 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 ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_error.js 877 kB 878 kB ⚠️ +1.19 kB
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 877 kB 879 kB ⚠️ +1.19 kB
link.js 915 kB 916 kB ⚠️ +1.19 kB
routerDirect.js 908 kB 909 kB ⚠️ +1.19 kB
withRouter.js 908 kB 909 kB ⚠️ +1.19 kB
Overall change 4.49 MB 4.5 MB ⚠️ +5.95 kB

@ijjk
Copy link
Member

ijjk commented Jun 1, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 14.4s 14.3s -56ms
nodeModulesSize 65.3 MB 65.3 MB ⚠️ +2.8 kB
Page Load Tests Overall increase ✓
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
/ failed reqs 0 0
/ total time (seconds) 2.673 2.618 -0.06
/ avg req/sec 935.13 954.9 ⚠️ +19.77
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.661 1.573 -0.09
/error-in-render avg req/sec 1505.4 1589.03 ⚠️ +83.63
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.59 kB 6.59 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..6c2a.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.67 kB 5.67 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.93 kB 6.93 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.25 kB 3.25 kB
hooks.js gzip 881 B 881 B
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 8.21 kB 8.21 kB
Client Pages Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 604 B 604 B
_error.module.js gzip 2.04 kB 2.04 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.32 kB 5.32 kB
Client Build Manifests
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform 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
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
index.html gzip 925 B 925 B
link.html gzip 935 B 935 B
withRouter.html gzip 923 B 923 B
Overall change 2.78 kB 2.78 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 15.4s 15.6s ⚠️ +201ms
nodeModulesSize 65.3 MB 65.3 MB ⚠️ +2.8 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.59 kB 6.59 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..6c2a.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.67 kB 5.67 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.93 kB 6.93 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.25 kB 3.25 kB
hooks.js gzip 881 B 881 B
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 8.21 kB 8.21 kB
Client Pages Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 604 B 604 B
_error.module.js gzip 2.04 kB 2.04 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.32 kB 5.32 kB
Client Build Manifests
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform 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 ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_error.js 877 kB 878 kB ⚠️ +1.19 kB
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 877 kB 879 kB ⚠️ +1.19 kB
link.js 915 kB 916 kB ⚠️ +1.19 kB
routerDirect.js 908 kB 909 kB ⚠️ +1.19 kB
withRouter.js 908 kB 909 kB ⚠️ +1.19 kB
Overall change 4.49 MB 4.5 MB ⚠️ +5.95 kB

@ijjk
Copy link
Member

ijjk commented Jun 1, 2020

Stats from current PR

Default Server Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 12.1s 12.1s -4ms
nodeModulesSize 65.3 MB 65.3 MB ⚠️ +2.8 kB
Page Load Tests Overall increase ✓
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
/ failed reqs 0 0
/ total time (seconds) 2.15 1.954 -0.2
/ avg req/sec 1162.54 1279.73 ⚠️ +117.19
/error-in-render failed reqs 0 0
/error-in-render total time (seconds) 1.259 1.215 -0.04
/error-in-render avg req/sec 1985.04 2057.3 ⚠️ +72.26
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.59 kB 6.59 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..6c2a.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.67 kB 5.67 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.93 kB 6.93 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.25 kB 3.25 kB
hooks.js gzip 881 B 881 B
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 8.21 kB 8.21 kB
Client Pages Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 604 B 604 B
_error.module.js gzip 2.04 kB 2.04 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.32 kB 5.32 kB
Client Build Manifests
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform 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
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
index.html gzip 925 B 925 B
link.html gzip 935 B 935 B
withRouter.html gzip 923 B 923 B
Overall change 2.78 kB 2.78 kB

Serverless Mode (Increase detected ⚠️)
General Overall increase ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
buildDuration 13.1s 13.4s ⚠️ +304ms
nodeModulesSize 65.3 MB 65.3 MB ⚠️ +2.8 kB
Client Bundles (main, webpack, commons)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.js gzip 6.59 kB 6.59 kB
webpack-HASH.js gzip 746 B 746 B
de003c3a9d30..6c2a.js gzip 10.5 kB 10.5 kB
framework.HASH.js gzip 39.1 kB 39.1 kB
Overall change 57 kB 57 kB
Client Bundles (main, webpack, commons) Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
main-HASH.module.js gzip 5.67 kB 5.67 kB
webpack-HASH..dule.js gzip 746 B 746 B
de003c3a9d30..dule.js gzip 6.93 kB 6.93 kB
framework.HA..dule.js gzip 39.1 kB 39.1 kB
Overall change 52.5 kB 52.5 kB
Legacy Client Bundles (polyfills)
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
polyfills-HASH.js gzip 26.3 kB 26.3 kB
Overall change 26.3 kB 26.3 kB
Client Pages
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.js gzip 1.26 kB 1.26 kB
_error.js gzip 3.25 kB 3.25 kB
hooks.js gzip 881 B 881 B
index.js gzip 222 B 222 B
link.js gzip 2.05 kB 2.05 kB
routerDirect.js gzip 279 B 279 B
withRouter.js gzip 278 B 278 B
Overall change 8.21 kB 8.21 kB
Client Pages Modern
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_app.module.js gzip 604 B 604 B
_error.module.js gzip 2.04 kB 2.04 kB
hooks.module.js gzip 383 B 383 B
index.module.js gzip 223 B 223 B
link.module.js gzip 1.51 kB 1.51 kB
routerDirect..dule.js gzip 281 B 281 B
withRouter.m..dule.js gzip 278 B 278 B
Overall change 5.32 kB 5.32 kB
Client Build Manifests
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform 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 ⚠️
vercel/next.js canary Timer/next.js serverless/propagate-500-to-platform Change
_error.js 877 kB 878 kB ⚠️ +1.19 kB
404.html 4.18 kB 4.18 kB
hooks.html 3.81 kB 3.81 kB
index.js 877 kB 879 kB ⚠️ +1.19 kB
link.js 915 kB 916 kB ⚠️ +1.19 kB
routerDirect.js 908 kB 909 kB ⚠️ +1.19 kB
withRouter.js 908 kB 909 kB ⚠️ +1.19 kB
Overall change 4.49 MB 4.5 MB ⚠️ +5.95 kB

@kodiakhq kodiakhq bot merged commit 15cdb4f into vercel:canary Jun 1, 2020
@Timer Timer deleted the serverless/propagate-500-to-platform branch June 1, 2020 23:18
rokinsky pushed a commit to rokinsky/next.js that referenced this pull request Jul 11, 2020
In serverless mode, it's best practice to propagate an unhandled error so that the function is disposed instead of recycled. This helps fix the "bad state" problem.
@vercel vercel locked as resolved and limited conversation to collaborators Jan 30, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants