Cloudflare is back at it again with more regex and state machines.
Previously on Cloudflare:
https://youtu.be/GEbn3nHyKnA
Sources:
https://blog.cloudflare.com/details-of-the-cloudflare-outage-on-july-2-2019/
https://blog.cloudflare.com/introducing-quicksilver-configuration-distribution-at-internet-scale/
https://swtch.com/~rsc/regexp/regexp1.html
https://www.regular-expressions.info/catastrophic.html
https://cyberzhg.github.io/toolbox/nfa2dfa
https://www.businessinsider.com/cloudflare-outage-causes-major-websites-across-internet-to-go-down-2019-7
Chapters:
0:00 Part 1: Intro
0:51 Part 2: Regex
2:29 Part 3: Deployment Process
4:20 Part 4: Disaster Strikes
6:25 Part 5: Root Cause
12:22 Part 6: Aftermath
Corrections:
- Missed opening bracket [ in the domain name part of the expression
6:36
- This particular regex is worst case quadratic, not exponential
8:30. The example right after w/ 1 million steps is exponential.
- The DFAs at
10:40 and
11:50 should have the starting states marked as end states as well to properly match empty strings
Music:
- Nocturnal by LEMMiNO (
https://www.youtube.com/watch?v=epmoV2HRs9U)
- Smooth by Silent Partner
- Encounters by LEMMiNO (
https://www.youtube.com/watch?v=xdwWCl_5x2s)
- Cipher by LEMMiNO (
https://www.youtube.com/watch?v=b0q5PR1xpA0)
- Fine Dining by TrackTribe
Twitter: https://twitter.com/kevinfaang/
Instagram: https://instagram.com/kevinfaang_yt/