~/talk

Fatal Node.js Flaw

TalkinRussianat HolyJS 2017 · on Monday, 2017-12-11· [nodejs]
slides:none on file

Node.js can lose per-request context when an unhandled exception crosses asynchronous boundaries (timers, promises, native bindings, file/module boundaries), making it impossible to determine which request caused a crash. The talk demonstrates tools and mitigations: async_hooks (reconstructs async chains but is experimental and costly), longjohn and rename hacks (restore full traces with roughly 20% overhead), and using clusters with graceful shutdown to reduce downtime but not identify the offending request; domains are unreliable and deprecated.

AI-written summary · about

  1. 0:00Introduction
  2. 2:02About me and Node.js
  3. 3:05Unhandled exceptions in architecture
  4. 4:12Causes and consequences of unhandled exceptions
  5. 5:19Async code barriers and context loss
  6. 8:30Event Loop and multithreading in Node.js
  7. 10:12Software bugs and app impact
  8. 11:35Two approaches to unhandled exceptions
  9. 12:38Philosophy of shutdown
  10. 14:44Event Loop context loss and solutions
  11. 17:12Clusters to solve exception issues
  12. 19:18Why domains aren't the fix
  13. 20:20Async resource handling evolution
  14. 23:35Recovering async chains with Async Hooks
  15. 24:36Async Hooks not a silver bullet
  16. 26:01Zones as future context solution
  17. 27:25Native code and exception handling
  18. 28:31Practical developer recommendations
  19. 30:38Q&A
  20. 33:17Q&A
  21. 34:21Q&A
  22. 35:26Q&A
  23. 36:29Q&A
  24. 37:56Q&A
  25. 39:19Q&A
  26. 41:05Q&A
  27. 43:12About Open Web and projects
  28. 46:24Job ads and closing
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.