The crazy Sunday morning browser refresh panic returned after a year off with the sale of 150,000 tickets to an estimated 750,000 punters. The promise of a beefed-up system (after it took 4 hours to sell out last time, to a number which did not include me) soon evaporated and even getting to the “holding page” seemed like a victory.
The next page was the “registration entry” where you added the numbers and postcodes. Naïvely, we thought we had succeeded the first time we got this far. Sadly, “0% uploaded” was as far as we got before being thrown off again.
Luckily for me, I was watching the twitter #glasto feed in another window. After about 40 minutes, somebody tweeted a hack – a line to add to your hosts file – which would get you through to the See Ticket servers. I didn’t really believe it, but had nothing better to do so gave it a go. Result! Straight through and tickets bought.
So how did that work? It was an error by See Tickets with their DNS entry.
For the non-technical: DNS (Domain Name System) is the “phone book” of the Internet. (For younger readers, a phone book was a list of people’s land line phone numbers listed alphabetically by their surnames, printed out every year and delivered to the house of everybody who had a phone – hard to believe, I know.) When you type “glastonbury.seetickets.com” in your browser, the browser asks your Domain Name Server for the IP address, and the server returns a number like “18.104.22.168”.
Anticipating the demand, See Tickets had, to their credit, set up two servers. Both the addresses should have been entered in the DNS records, and thus 50% of the punters looking for tickets should have gone to each server. Sadly, somebody mistyped one of the addresses, putting 192 instead of 194. Thus half the queries failed, and the other server was hit by every sales request.
On your PC the hosts file is like a small, local Domain Name Server where your browser looks first to see if it knows the IP address of a name. Adding the actual address of the “spare” server in that file meant that you avoided the queue and walked directly up to the almost unused counter next door. Apparently, See Tickets did notice the very unbalanced load on their servers and fixed the DNS record after about 10:00am. The nature of DNS meant that it still took quite a while after that for the change to work its way through the Internet.
How was the error (and fix) discovered? It was because of the actual IP address numbers involved. Addresses starting 192 (or 172 or 10) are reserved for private networks. If you have a network at home, it will start with one of these numbers. Somebody trying to connect to See Tickets was doing it from work on a network which just happened to have a machine with the mistyped address. Instead of the same “could not connect” error that everybody else was getting, they saw a web page from a computer on their own network. So they looked up the numbers, worked out what the error was and shared the solution via Twitter.
Thank you, anonymous hacker, for getting me my tickets to Glastonbury.