Slashdot Mirror


Slashdot Posting Bug Infuriates Haggard Admins

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.

13 of 262 comments (clear)

  1. Sorry, could not resist. by Noryungi · · Score: 2, Insightful
    we shall flog ourselves appropriately


    Please do.
    --
    The right to offend is far more important than the right not to be offended. (Rowan Atkinson)
  2. D'oh. by NeuralAbyss · · Score: 5, Insightful

    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!

  3. So who's the killer? by Rob+T+Firefly · · Score: 5, Insightful

    I wonder who posted comment #16777216. That person should win some sort of "I borked Slashdot!" award.

  4. Dupe! by Anonymous Coward · · Score: 0, Insightful

    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 ?

  5. My Reply to the Funny Comment Above This by eldavojohn · · Score: 4, Insightful

    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.

    --
    My work here is dung.
  6. Should have used PostgreSQL instead.. by eamacnaghten · · Score: 2, Insightful
    Would not have happened if Slashdot used PostgreSQL.

    Let the flamewars begin...

    --

    Web Sig: Eddy Currents

  7. Slashed Eyeballs by Doc+Ruby · · Score: 3, Insightful

    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.

    --

    --
    make install -not war

  8. 24 bit? by voidptr · · Score: 4, Insightful

    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?

    --
    This .sig for unofficial government use only. Official use subject to $500 fine.
  9. Re: Access to the database by Control+Group · · Score: 2, Insightful

    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

    --

    Reality has a conservative bias: it conserves mass, energy, momentum...
  10. +10 by BandwidthHog · · Score: 4, Insightful

    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.

    --

    Quantum materiae materietur marmota monax si marmota monax materiam possit materiari?
  11. Mysql long running alter command by Anonymous Coward · · Score: 1, Insightful

    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.

  12. So why was this 24-bit to begin with? by Iron+Condor · · Score: 3, Insightful

    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?

    --
    We're all born with nothing.
    If you die in debt, you're ahead.
  13. Re:Congrats taco by Bastard+of+Subhumani · · Score: 1, Insightful
    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
    --
    Only three things are certain; death, taxes, and apocryphal quotations - Ben Franklin.