Basecamp Outage Post-mortem
m.signalvnoise.com
m.signalvnoise.com
Now would be a good time to check your own IDs and get the max value of each. Sure is easier to fix this ahead of time than when your app is down.
Another thing I've done is use GUIDs for the primary key, then have an identity/sequence column called something like Sequence, which retains the sequencing capabilities of a regular integer identity column.
See https://www.percona.com/blog/2006/10/03/long-primary-key-for... for an interesting discussion of the topic.
In general, it's unwise to make recommendations about what data types to use, especially for primary keys, without thorough research on their implications.
Everything about this is amazing to me. Rails and good small dev teams still rock, probably more so now than ever!
So, plan B... It's a signed integer... The auto increment started at 1 and counted up from there... We literally had 50% of the ID space still available to us. So now we've started at -1 and are counting our way down from there. Obviously we're adding rows a lot faster now than we were at the beginning of time, but it has bought us more than enough time to fix the issue properly.
It took a bit of cleverness to get those negative IDs (MySQL won't let you set the auto increment start point to a value less than the current max ID), but the end result is that we got back up and running in a couple hours, as opposed to the multiple days we initially thought we were looking at.
I don't know why, but seeing "I’m really, really sorry" in a Post-mortem doesn't feel right.
Is there anything he could have said that would appease everyone? I think he is really stuck, and at least he took responsibility for what happened.
That seems rare these days, and even if his wording doesn't feel right, his words and the detailed explanation of their actions deserve a lot of respect.
Maybe your comment just reads wrong (context is tough in text format) but I wish you would reconsider this idea. Here is a business owner accepting full responsibility and doing his best to provide some insight into what went wrong and why it took so long to get back online. It reads to me like someone who cares deeply about his customers and wants to project the sense that they are his number one concern. Its honestly refreshing and I wish it was a more common thing. I'm not a BC customer but I'll be giving them a try next time I am in the market. They clearly care.