top | item 19804221

(no title)

puzzle | 6 years ago

Oh, God. I forgot about the empty src bug. YouTube wasn't the only substantial Google service affected by it from time to time. But I remember it differently.

Yes, it triggered a GET for /. But that generated HTML (usually the service's homepage, as was our case), which the browser would attempt to parse as an image, obviously failing. It would not trigger a recursive fetching of all the resources on the page. Even without recursion, it already inflicted major damage, because our service's homepage was dynamic, while the resources linked from it were mostly static (and thus a lot cheaper, as well as cacheable). I think I would have noticed if it multiplied other traffic, not just the homepage.

This was the bane of my existence for many months. Every few weeks I would have to fire up Dremel and try to figure what was causing the spurious page loads. I hated and still hate SQL, so that was no fun. I knew when it was time to investigate thanks to our human monitoring system: our PMs would get excited or puzzled by a sudden jump in the page view dashboards. (They lived by those graphs...)

Thank you Chris and co. for your contributions in killing the browser version from hell.

discuss

order

kofman|6 years ago

The particular change Chris is referring to was in implementing delay load for the related video thumbnails. Now as you may imagine the /watch page gets most of the traffic and is hyper optimized. Now imagine every load of /watch hitting the much more dynamic and personalized and much less optimized homepage 10-15 times :)