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.

45 of 262 comments (clear)

  1. Only one thing to say by bernywork · · Score: 5, Funny

    *Clap clap clap*

    --
    Curiosity was framed; ignorance killed the cat. -- Author unknown
  2. So does a first post ... by AppHack · · Score: 5, Funny

    ... roll over to be a last post?

  3. 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!

  4. I for one by MrBulwark · · Score: 5, Funny

    welcome our 2 to the power of X overlords.

  5. Last post! by buro9 · · Score: 5, Funny

    Last post!

  6. who we should REALLY blame by admdrew · · Score: 5, Funny

    Alright, who's the joker who posted the 16,777,216th comment?

    Thanks for breaking slashdot, jerk :D

  7. Oh Noes! by The+Mysterious+X · · Score: 5, Funny

    Its like y2k, only worse!

    1. Re: Oh Noes! by PFI_Optix · · Score: 4, Funny

      "it's like y2k but worse"

      I know what you mean. Y2K was supposed to put an end to civilization, but at least we'd have been able to post on slashdot.

      --
      120 characters for a sig? That's bloody useless.
  8. Congrats taco by LiquidCoooled · · Score: 5, Interesting

    Does this mean that comment id#16777215 has the longest thread in history?

    Can anyone actually find it to see - I tried but could only get to 16777217, its likely to be in a journal or just a reply to an older article.

    --
    liqbase :: faster than paper
  9. I sense a disturbance in the force by Anonymous Coward · · Score: 5, Funny

    As if a thousand geeks all made the same damn "last post!" joke at once. . . . . .

  10. 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.

  11. seems strange by jihadi_schwartz · · Score: 5, Funny

    ...why wasn't this problem discovered on the dev system in advance?

  12. It's true that... by 0racle · · Score: 5, Funny
    Anyone could have made the mistake
    But it's so much funnier when that anyone is not you.
    --
    "I use a Mac because I'm just better than you are."
  13. 2^24 by Anonymous Coward · · Score: 5, Funny

    "2^24 comments ought to be enough for anyone" -- CmdrTaco

  14. Comment 16,777,216 does not exist by jamie · · Score: 5, Informative

    Some of you are asking which comment it was that got the cid 16,777,216. The answer is that none did. For redundancy, Slashdot is now running multiple-master replication which skips values for auto-increment. Our db-1 assigns odd-numbered primary key IDs, and db-2 assigns even-numbered. Right now writes are going to db-1 so newly created rows will have only odd IDs.

    The comment that got 2**24-1 was this one, if anyone cares :)

    Sorry about the inconvenience, everyone.

  15. Digg? by Afrosheen · · Score: 5, Funny

    That's cool, I'll just pretend I'm on Digg, with its 1981 Commodore 64 BBS-style threading.

      Wait..sorry Commodore fans. I know it had better threading than Digg.

  16. Haggard? by Anonymous Coward · · Score: 5, Funny

    Haggard admins? Does this mean that the Admins will go buy some meth and get a massage?

  17. 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.
  18. 16 million posts ... by DrJimbo · · Score: 5, Funny

    ... should have been enough for anyone.

    --
    We don't see the world as it is, we see it as we are.
    -- Anais Nin
  19. Holy Chit! by RedCard · · Score: 5, Funny

    No threading? Welcome to Farkdot.

  20. And? by Lars+T. · · Score: 5, Funny
    Sorry for the inconvenience. We shall flog ourselves appropriately.
    And post the YouTube link?
    --

    Lars T.

    To the guy who modded me down from perfect to terrible Karma - Apple haters still suck

  21. It's a joke, kids by Temuar+Skylari · · Score: 5, Funny

    Dupe! I TOTALLY posted this story like, last WEEK man! (I laugh, but I betcha someone might post this in seriousness)

    --
    USE colorful confetti ON heavily-armed clown
  22. Did somebody say... by camusflage · · Score: 4, Funny

    Flogging and Haggard in the same sentence? If we can get "crystal meth" in, we'll hit the trifecta!

    --
    The truth about Scientology, Xenu, and you: Operation Clambake
  23. Sounds Familiar by old_skul · · Score: 5, Informative

    I used to work at Comair. Remember, that airline that stranded about 10,000 people in the airport a couple of Christmases ago? Same deal. Program was capable of handling only a certain number of changes. Hopefully your president won't have to resign.

  24. So was it fixed in Slash? by tlhIngan · · Score: 4, Interesting

    So is the bug still in the CVS revision of Slash, or was it fixed 5 years ago and Slashdot never applied the patch?

  25. Give Slashdot Subscriptions to the borkers by davidwr · · Score: 5, Interesting

    Give a 2^0-year Slashdot subscription to the guy who hit the limit and one to the the first non-administrator guy who successfully posted after the fix.

    If you can find the first guy who COULDN'T reply due to the limit, give him one too. He deserves something for his trouble.

    --
    Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
  26. EldavoJohn cid=16786251 reply by DeadCatX2 · · Score: 4, Informative

    Actually, comment 16,777,217 couldn't break it, because that comment's parent cid could have only been 16,777,215. Up until then, there wouldn't have been an overflow value put into the db.

    There's no telling which comment it is, because (16,777,217 + 2n) might not have been a reply, meaning it would come up correctly.

    --
    :(){ :|:& };:
  27. Reply to 16786251 by RAMMS+EIN · · Score: 4, Informative

    Reply to comment number 16786251:

    ``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'' ...but it's probably not zero-referenced. Typically, ids in SQL start at 1.

    --
    Please correct me if I got my facts wrong.
  28. Access to the Database? by Shadow+Wrought · · Score: 5, Interesting

    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...

    --
    If brevity is the soul of wit, then how does one explain Twitter?
  29. May i be the first to say... by zepo1a · · Score: 5, Funny

    Brillant!

    I always wondered where Paula Bean ended up...

  30. RE: 16777217 GET by Stalyn · · Score: 5, Funny

    mod parent up

    --
    The best education consists in immunizing people against systematic attempts at education. - Paul Feyerabend
  31. Mod parent up by foniksonik · · Score: 4, Funny

    Uhhhh who's your daddy?

    --
    A fool throws a stone into a well and a thousand sages can not remove it.
  32. Why are all 16 million+ comments in a single table by poot_rootbeer · · Score: 4, Interesting

    Slashdot being a news (for nerds) site, I would expect that the usage patterns are such that a huge majority of the content accessed by users is very recent -- say, perhaps, 90% of the database hits are for stories and comments that were posted in the last week.

    So why, pray, is this usage pattern not accounted for in the database design?

  33. MOD parent up! by bazorg · · Score: 4, Funny

    Mod parent ... wait..

  34. This was fortold a few months ago... by Anonymous Coward · · Score: 4, Informative
  35. Take all the time you need by deaton · · Score: 5, Funny

    Take all the time you need, I'm more than willing to refrain from posting durin.... Oh shit!

  36. A real Slashdotter! by QuickFox · · Score: 4, Funny

    And this is why you should not have arbitrary limits in your programs, ladies and gentlemen. Not even limits on the values your numbers can represent

    Now this is a real Slashdotter! This guy knows how to build an infinite computer!

    --
    Terrorists can't threaten a country's freedom and democracy. Only lawmakers and voters can do that.
  37. 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.
  38. Re: Why are all 16 million+ comments in a single t by jamie · · Score: 5, Informative

    poot_rootbeer asks why all the comments are in one table, when the data access pattern is such that 90% of our hits are on only the most recent entries in that table.

    The answer is that we used to do it this way but it's a huge pain. In 2000 we converted from having two tables for 'stories', recent and archived, and merged them together. The performance hit was not big, and it made the code so much simpler it was a no-brainer.

    It's the database's job to cache properly whether we split the table or not, and the database does that just fine. The only performance problem could be when there is a rush of inserts, or updates to the same sets of rows, spanning both newer and older portions of the table, and that just doesn't happen.

    If we did want to do this we wouldn't split the tables manually; the code complexity is too high a price to pay. In MySQL 5.0 we would use a MERGE engine, which has issues of its own but would involve smaller changes to our code. That's still not worth it for us. What we're probably going to do is wait for MySQL 5.1 to get out of beta and then do some performance testing on tables partitioned by date and see if that gains us anything. For example, a SELECT on our comments table could be limited with a WHERE clause to only retrieve rows with a date >= the discussion object's date, which for 90% of our queries MySQL 5.1 could optimize to only look at the most recent partition. If the gains turn out to be significant, then since partitioning involves very limited code changes, we'll probably do that. Generally speaking, though, database performance is not a problem for us. So far our main bottlenecks have been CPU and RAM on the webheads. As long as we don't do anything stupid our database performance has been fine, though, as today proves, we are quite capable of being stupid.

    [ Parent ]

  39. Let the flamewars begin... by bigpat · · Score: 5, Funny

    Would not have happened if Slashdot used PostgreSQL.

    Let the flamewars begin...


    Unthreaded flame wars are much less enjoyable.

  40. graphic artists by Speare · · Score: 5, Funny

    The number 2^24 is of interest to digital computer artists, as that is the number of unique colors combined in the commonly implemented "True Color" RGB8 space. That color space is looking pretty limiting in some respects, but that is truly a lot of unique colors when you think about it. A 16 megapixel image does not need to repeat any color used.

    If all slashdot posts from the history of Slashdot were sorted into color bins,
    • every post including the -2 trolls would get their own unique color,
    • all the colors which are predominantly blue would be claimed as "first posts,"
    • all the colors which are predominantly green would be unfunny memes like "hot grits,"
    • all the colors which are predominantly red would be complaints about editing or journalism,
    • the pure cyan, magenta, yellow shades are moderated as insightful or interesting,
    • the 256 posts corresponding to completely neutral gray shades are actually insightful or interesting

    Once that were done, people could simply post their replies as a reference to existing posts. "Hey, #938D3A to you, buddy!" "Know what I think of that? #F2C2A9!"

    --
    [ .sig file not found ]
  41. Finally, a tale for my grandkids in the new era by voidptr · · Score: 5, Funny

    One day, Cmdr Taco is designing his database, and he sits down at a table with three integers on it. First, he tries the baby bear's integer, but exclaims "2 meager bytes is way too small for my appetite."

    Next, he tries Papa bear's integer, but proclaims "4 bytes is way too big for my little site, I'd just end up wasting so much."

    Finally, he tries Mama bear's integer, and extols "3 bytes is just right," not noticing it was really the same as Papa Bear's bowl in disquise.

    --
    This .sig for unofficial government use only. Official use subject to $500 fine.
  42. /. copyright question by Control+Group · · Score: 5, Interesting

    Get your mod points ready, this is off topic, but considering the current state of discussion anyway, I don't feel so bad about it.

    Regardless, while writing this post regarding why the /. admins won't (and shouldn't) consider releasing a copy of the /. DB to the public, something occurred to me.

    Comments on /. are owned by the poster, according to that one line that shows up on all the comment pages (specifically, "The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.") At the same time, though, /. doesn't provide a method for having comments you've made removed from the DB.

    If I own the copyright on the comments I've made, shouldn't I be able to rescind publication rights on them, and prevent /. from displaying them in future? Or is there some kind of implicit license in posting on /.? Did I clicksign an agreement covering this when I joined (this was getting on towards a decade ago, so I really don't remember the joining process at all)?

    Or are publication rights, once granted, irrevocable?

    Of course, I suppose asking questions when there's no way for people to hit reply is a specific form of vague insanity...still, I'm curious.

    --

    Reality has a conservative bias: it conserves mass, energy, momentum...
  43. +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?
  44. "flogging definition" by UnanimousCoward · · Score: 4, Interesting

    As your punishment, you should write some kind of data-mining algorithm that starts from the point you disabled threading and try to construct intelligent threads based on the subject and the body of comments...

    --
    Twelve-and-three-quarter inches. Unyielding. This wand belonged to Bellatrix Lestrange.