Slashdot users enjoy discussions and post comments, more comments and after 16,777,216 comments in the slashdot database, things came to a halt and “posting bug infuriated haggard admins“.
“The wise amongst you might note that this number is 2^24, or in MySQLese an unsigned mediumint. Unfortunately, like 5 years ago we changed our primary keys in the comment table to unsigned int (32 bits, or 4.1 billion) but neglected to change the index that handles parents. We’re awesome! Fixing is a simple ALTER TABLE statement… but on a table that is 16 million rows long, our system will take 3+ hours to do it, during which time there can be no posting.”
A quick look at PHP help reveals that Mediumint is “A medium-size integer. The signed range is -8388608 to 8388607. The unsigned range is 0 to 16777215.” I am no MySQL expert, but those values just make me wonder if they will change it to bigint – “A large integer. The signed range is -9223372036854775808 to 9223372036854775807. The unsigned range is 0 to 18446744073709551615.” That should be enough for Slashdot.
Maybe Slashdot never realized how popular they are, how much Slashdotters like to comment and that they could actually hit that limit of 16,777,216 Comments …