EUW spectator mode fell over recently – here’s why

By Riot tmx

No matter how reliable a piece of technology happens to be, sometimes things just mysteriously stop working. Last Wednesday a technical glitch popped up that caused EUW players attempting to spectate games via the client to arrive at a black screen. As with any bug causing a service disruption, we temporarily took the spectator function offline and began investigating the source of the problem so we could restore the service for players as quickly as possible.

What we found was serious: Game ID numbers that couldn’t be encrypted by League’s spectator service due to their excessive length. You could almost think of our bug a distant cousin of the infamous Y2K critter that demanded a refactoring of how dates were treated in banking software. But the cause of our spectator-mode disruption simultaneously brought a grin to the faces of our Live Services engineers digging into the problem.

A few days ago the total number of games played on the EUW server shard surpassed 2,147,483,648 games. (In case you went cross-eyed for a second, that’s just north of two billion games.) Unfortunately for our beleaguered spectator, that number also happens to be the maximum positive value for a 32-bit signed binary integer in computing.

In other words, during the design of the spectator feature, our developers never anticipated the Game ID counter going that high on a single platform. EUW happens to be Riot’s largest shard globally - if one were posting this article in Twitch chat, the abbreviation might be “EUW > NA” - and surpassing that 2^31 digit threshold shot the lights out in EUW’s spectator mode.

Curious statistics aside, we’re committed to getting spectator mode up and running as soon as possible. Our engineers have already prepared a client fix, which will hit our internal test environment today. Once the fix has been vetted, we’ll release a small patch to live servers so all of us can get back to enjoying spectator mode. The ETA for this hotfix is Monday 15th June, as we try to avoid updating our code base on Friday to prevent unexpected issues and downtime that could knock you out of League for the entire weekend.

We apologise for the downtime. But thanks to everybody on the EUW server for helping us hit this crazy milestone - even if we broke some stuff in doing so - and here’s to the next two billion games. See you in-game shortly, and we’ll spectate you early next week!


2 years ago