Forgot your password?
typodupeerror

Slashdot Posting Bug Infuriates Haggard Admins 262

Posted by CmdrTaco
from the this-is-never-good dept.
Last night we crossed over 16,777,216 comments in the database. 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. So today, we're disabling threading and will enable it again later tonight. Sorry for the inconvenience. We shall flog ourselves appropriately. Update: 11/10 12:52 GMT by J : It's fixed.
This discussion has been archived. No new comments can be posted.

Slashdot Posting Bug Infuriates Haggard Admins

Comments Filter:
  • by Noryungi (70322) on Thursday November 09, 2006 @11:46AM (#16786075) Homepage Journal
    we shall flog ourselves appropriately


    Please do.
  • D'oh. (Score:5, Insightful)

    by NeuralAbyss (12335) on Thursday November 09, 2006 @11:47AM (#16786089) Homepage
    Anyone could have made the mistake.. good to keep us all in the loop though :)

    And let this be a reminder to the kids - RTFM, twice!
  • by Rob T Firefly (844560) on Thursday November 09, 2006 @11:51AM (#16786159) Homepage Journal
    I wonder who posted comment #16777216. That person should win some sort of "I borked Slashdot!" award.
  • Dupe! (Score:0, Insightful)

    by Anonymous Coward on Thursday November 09, 2006 @11:52AM (#16786175)
    Given the amount of duplicate articles, why not just let it overflow and we can roll the same stories around again. Saves all the hassle of making submissions.

    GSM phones to monitor traffic problems, anyone ?
  • by eldavojohn (898314) * <eldavojohn.gmail@com> on Thursday November 09, 2006 @11:55AM (#16786251) Journal
    Uh, this is a reply to the 8th post down from the top (remember to use this like an array and zero reference). Yes, I'm talking to you, admdrew.

    You claim that the 16,777,216th comment would have broke it but I contest that actually the 16,777,217th comment poster would be the culprit. Since it should be able to handle that many comments if it is zero referenced, and it would actually be the one after that one that would break it. You laugh but these kinds of problems plague a lot of coders?

    If you don't agree with me, please respond below and reference my comment ID.
  • by eamacnaghten (695001) on Thursday November 09, 2006 @12:23PM (#16786583) Homepage Journal
    Would not have happened if Slashdot used PostgreSQL.

    Let the flamewars begin...

  • Slashed Eyeballs (Score:4, Insightful)

    by Doc Ruby (173196) on Thursday November 09, 2006 @12:26PM (#16786611) Homepage Journal
    If Slashdot released the Slashcode more frequently, with more/better comments/docs, and encouraged some of the many of us who complain about bugs/features to help the project, then it's more likely that someone would have debugged this bug earlier.

    Open source - it's not just a buzzword, it's a way of life.
  • 24 bit? (Score:5, Insightful)

    by voidptr (609) on Thursday November 09, 2006 @12:40PM (#16786795) Homepage Journal
    Why on earth does MySQL have a 24 bit integer datatype? On what platform does it even remotely make sense to use that in the first place? It's going to get cast to 32 bits for any arithmetic operations anyway, and on most platforms today alignment requirements are going to pad the extra byte in memory and disk, so you're not even saving any space. Why even give someone the option over choosing between 16 bit and 32 bit integers?
  • by Control Group (105494) * on Thursday November 09, 2006 @12:44PM (#16786841) Homepage
    Any thoughts on making the DB publicly accessable other than through teh Dot? Not sure what I'd do with all that data, but I'm sure these's a grad student somewhere who'd love the opportunity...

    Not just grad students; as a DBA by profession, I'd love a crack at the DB. If nothing else, it would give me a great place to play around with MySQL. Not to mention the ability to maybe extract some interesting user-level statistics.

    Of course, the odds of this happening are pretty damn low - there'd have to be an awful lot of work and review done to scrub the DB of information that is entrusted to /. that people didn't plan on having released to the internet at large. Passwords, for example (even if they're stored only as hashes, getting the whole DB would make it feasible to crack them); real email addresses, real names...I assume that the subscription process doesn't involve actually storing credit card information in the DB (I don't know; I've only used PayPal), but that might be another concern.

    Just the email addresses would be a huge deal - can you imagine the market value of such a targeted list of addresses?

    In short, it would be fantastically cool for them to release the DB, but it would be a lot of work on their part for no particular return. Not to mention that if they released it once, they'd no doubt be pestered to keep releasing periodic updates...then there's the bandwidth issues...and, even, the potential copyright issues (/. doesn't own the copyright on posted comments, the poster does)...then the copyright issues for stuff they do own; releasing the DB would make it trivial for a bad actor to post a mirrored slash. A little bit of domain typosquatting and some ad deals, and you could be talking about real money.

    If I were them, there's no way in hell I'd even think about doing it.

    But it would be cool.

    Parent [slashdot.org]
  • +10 (Score:5, Insightful)

    by BandwidthHog (257320) <inactive.slashdo ... icallyenough.com> on Thursday November 09, 2006 @01:19PM (#16787141) Homepage Journal
    Ten points for honesty!

    At least they didn’t try to make bullshit excuses. I respect them for being up front about the real nature of the issue.

  • by Anonymous Coward on Thursday November 09, 2006 @01:29PM (#16787229)
    I recently ran into this problem with Mysql 5.0.x -- I had to alter a few columns to increase a char(2) to char(20) on a table with 10+ M records.

    I too run multi-master replication -- but only one server is primary at any one point in time.

    To get around this problem, I made the change on one of the standby servers, failed over the web application to that server and then implemented the change on the previously live server.
  • by Iron Condor (964856) on Thursday November 09, 2006 @02:02PM (#16787541)
    With all teh funnae posts about it, let me be the first one to ask: why were you using 3-byte integers to begin with? Why would anybody anywhere ever use these for any reason at all? What advantage to these have? Why was this table laid out like this? This doesn't make sense to me at all. Were you really imagining that shaving a byte off each post was going to save you DB space? I can't quite believe that. But than what exactly would be the motivation for using such an odd integer size?
  • Re:Congrats taco (Score:1, Insightful)

    by Bastard of Subhumani (827601) on Friday November 10, 2006 @04:47PM (#16798392) Journal
    Except that nearly all of these would in fact be in a different article, and would therefore not form a thread.
    Like anyone would notice.

    To get back on topic, my heart say's perl, but my head says .net

Of course you can't flap your arms and fly to the moon. After a while you'd run out of air to push against.

Working...