Echo Echo Echo August 18, 2009 10:22 PM   Subscribe

What's up with all the double and triple posts in the comments in the past couple of weeks?

Has something changed with the submission code which is causing this? My browser clears the submission box when I post something, so I can't imagine how this is happening by accident without it being a problem in the posting code.
posted by hippybear to Bugs at 10:22 PM (73 comments total)

I was wondering about that, myself.
posted by UbuRoivas at 10:23 PM on August 18, 2009


Hey, no fun.
posted by UbuRoivas at 10:23 PM on August 18, 2009


It happened to me a few times also. I thought it was an issue with my wireless router but then noticed others were also doing it.
posted by Burhanistan at 10:24 PM on August 18, 2009


Damn, I tried to put "doubleposts" into the tag field twice, and it wouldn't let me!
posted by hippybear at 10:25 PM on August 18, 2009


No, nothing has changed with the comment submission code recently.
posted by pb (staff) at 10:25 PM on August 18, 2009


pb: how can the rest of us help you track down what's going wrong, then? It's not been anything near "endemic", but it has been happening more often than it seems it used to. I don't care, overall, but I am sure it would be better not to have to clean up dupes and such...
posted by hippybear at 10:30 PM on August 18, 2009


pb says it's all your fault.
posted by item at 10:31 PM on August 18, 2009


Okay, I'll stop doing that, then.
posted by hippybear at 10:31 PM on August 18, 2009


But if it doesn't stop, then I'll pin the blame on you, Item.
posted by hippybear at 10:31 PM on August 18, 2009


Lazy stab: DNS issues on the part of MeFi's hosting company that causes submissions to be cached and re-sent.
posted by Burhanistan at 10:32 PM on August 18, 2009


Just ran a quick query and found 8 doubled comments on MeFi in the last two days. That's out of 3,421 comments total on MeFi alone. If you flag it as HTML/Display Error we can clean them up quickly.
posted by pb (staff) at 10:34 PM on August 18, 2009


The JVM has been restarting itself a little more often than normal—that tends to lead to brief windows of 503 JRUN errors and possible failwhaling on an attempt to post a comment, which I think in some cases leads to this pattern of behavior:

1. User tries to submit comment.
2. User sees nasty 503 page or other symptom of timeout.
3. User assumes comment didn't get posted.
4. User resubmits comment.
5. Double!

What pb said about flagging; we'll clean 'em up as soon as we see them, which during daylight hours is generally pretty promptly. If things seem to hang on you when you're personally submitting a comment, maybe try to copy to clipboard just to be sure and then do a preview in a minute or two to make sure your comment isn't already there when thing seem responsive, and only then try resubmitting.
posted by cortex (staff) at 10:37 PM on August 18, 2009


pb: would that query show the comments which have been cleaned up already? I know I have been flagging several...

I'm not trying to say there's anything WRONG... just not wanting there to be work for anyone that doesn't have to be if there is an issue with machines and not with people.

cortex: I've noticed that a lot of my refresh attempts are hanging up right at the very end of the process, I assume that's having to do with the JVM. And I've had 503 pages appear more in the past 2 weeks than in the previous several months combined.

Again, just trying to alert Those Who Might Want To Know that something seems different now than it did 2-3 weeks ago.
posted by hippybear at 10:42 PM on August 18, 2009


I've had it happen to me (not recently, though) when I've posted a comment and then clicked "refresh" right away (like in a fast-moving thread, when trying keeping up with comments that were posted immediately after mine). For some reason, the "refresh" was tantamount to resubmitting a comment.
posted by amyms at 10:45 PM on August 18, 2009


would that query show the comments which have been cleaned up already?

Yes, I was looking at all comments including hidden.

We have code in place to check for comments that are exact duplicates. Duplicate comment form submissions happen all the time, and generally our code blocks them if they're spaced a few milliseconds apart. But if a multiple comment form submissions happen at exactly the same time, we get duplicate comments in the database. I'm not sure why it happens, but I'm guessing it's a network error beyond our control. There has been a slight uptick in duplicate comments in the last day or two so it's something we'll keep an eye on. Thanks for the heads up.
posted by pb (staff) at 10:56 PM on August 18, 2009


I blame Firefox. It changed the way it acts when I attempt to post. Using FF 3.5.2 on a Windows 7 RC machine. Or maybe it it Windows 7. I have to refresh multiple times before I see if my posts made it.
posted by JohnnyGunn at 11:02 PM on August 18, 2009


Protip: Drink less coffee.
posted by Blazecock Pileon at 11:36 PM on August 18, 2009


Tonight on "It's the Mind, " deja vu...
posted by drjimmy11 at 12:26 AM on August 19, 2009


Tonight on "It's the Mind, " deja vu.....
posted by drjimmy11 at 12:26 AM on August 19, 2009


Tonight on "It's the Mind, " deja vu....
posted by drjimmy11 at 12:27 AM on August 19, 2009 [2 favorites]


Wait... JVM just restarts itself? Why? Isn't that.. not right?
posted by spiderskull at 12:31 AM on August 19, 2009


Tonight on "It's the Mind, ", deJVM.
posted by davejay at 12:57 AM on August 19, 2009


drat, deJa VM would have been funnier. but still not funny.
posted by davejay at 12:58 AM on August 19, 2009


Wait... JVM just restarts itself? Why? Isn't that.. not right?

Oh, man, I read a great (and oh-so-true) JVM startup joke the other day.

Knock knock.

Who's there?
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
Java.
posted by Netzapper at 1:15 AM on August 19, 2009 [7 favorites]


Java who?
posted by item at 1:24 AM on August 19, 2009


Eh, now that I think about it, that's what you have to expect with nondeterministic garbage collection and, well, the crazy shit that JVM does. Java's implementation has always been its applications' biggest problem.
posted by spiderskull at 1:24 AM on August 19, 2009


Eh, now that I think about it, that's what you have to expect with nondeterministic garbage collection and, well, the crazy shit that JVM does. Java's implementation has always been its applications' biggest problem.

See, and my preference is to write in any language except Java, but to target the JVM. Jython's my favorite, but I'll take clojure or jruby.

I totally adore modern JVMs. The next release will even have a new, low-latency garbage collector.

My only complaint these days is exactly the punchline of my joke: it takes 100ms to run a null program with the JVM, while it only takes 16ms with python, and 1ms with C. Throw a bunch of shit on the classpath, and that goes way the hell up.
posted by Netzapper at 1:43 AM on August 19, 2009


They're definitely impressive.

I've just always found the overall approach questionable and pretty unnecessary -- at the height of it, there were at most 5 or 6 popular and deployed architectures (i86, PowerPC, ALPHA, SPARC, and... ?). I never understood why they didn't just cross-compile and standardize the library interface. On-the-fly assembly, from a stack-based architecture no less, is a pretty bizarre approach.
posted by spiderskull at 1:49 AM on August 19, 2009


Burhanistan: DNS DOES NOT WORK THAT WAY!
posted by blasdelf at 2:00 AM on August 19, 2009


pb: If you flag it as HTML/Display Error we can clean them up quickly.

What the hell? You could also flag them as "double comment," which is both more accurate & less alarming / a slightly lower priority for the mods.
posted by Pronoiac at 2:10 AM on August 19, 2009


What are you saying? Bandanna? Van Dammer?
posted by Pronoiac at 2:29 AM on August 19, 2009


I've just always found the overall approach questionable and pretty unnecessary -- at the height of it, there were at most 5 or 6 popular and deployed architectures (i86, PowerPC, ALPHA, SPARC, and... ?). I never understood why they didn't just cross-compile and standardize the library interface.

Well, the issue is that on each of those processor architectures, you had a whole host of different operating systems (Windows, OSX, linux, BSD (of several flavors), AIX, Iris, Solaris, HPUX, VMS). The processors and the operating systems can be widely mixed and matched--there was even Windows for ALPHA. The JVM unifies all of the combinatorial platforms. Furthermore, it does it in such a way that glaringly huge differences are bridged over: 32-bit vs. 64-bit native word size being the big one, floating point operations (and especially exceptions), multiprocessing availability, and some others that I can't be buggered to think of right now.

And that's ignoring all the places that the JVM (or more precisely the KVM) have been ported at this point: nearly every cellphone, many of which have all sorts of off-brand processor architectures; set-top boxes (Java's original target); security systems; audio effects processors; car stereos; iButtons; smart cards.

And I can target all of those with my one compiler, and ship one .class or .jar file. I don't need to maintain a download source for each of those different architectures. My users don't need to know if they have a DragonBall or a StrongARM or an XScale processor. The only way you could get that with with cross-compilation is if each packaged application had a copy of the compiled object for all architectures. My cellphone apps would go from 50KB downloads to 500KB downloads.

What's more, if a new OS/architecture combination comes out, the work to support it is on my end. Or at least on Sun's end. So, you could out with the CoreSpider7 processor. As it stands, once you get the JVM to compile on your system and fill in a few holes in the reference implementation, you can run all the Java programs ever written. If we had to cross-compile, you'd be beholden to Sun adding support to the javac compiler, and I would then have to go and update every one of my applications to include a new object for your architecture.

And then, of course, there's the security model. There is no way to maintain as strict and flexible a security model as the JVM's using native code. For instance, a competing mobile framework, BREW, manages to enforce various permissions... but a misplaced pointer can still crash the whole phone, allowing you to write a denial of service trojan.

Also your gripes would apply to all virtual machines... and people don't share your concerns. Because VMs are spreading.

On-the-fly assembly, from a stack-based architecture no less, is a pretty bizarre approach.

They only added just-in-time compilation relatively recently (1.5, I believe). Before that, instructions were interpreted. While I can sort of see your argument about it being silly... once the VM was established, it was a major net improvement to add JITC.
posted by Netzapper at 2:36 AM on August 19, 2009 [1 favorite]


Doubling up your comments is obvious and it lacks class. I PREFER THIS METHOD WHEN TRYING TO GET MY POINT ACROSS.
posted by gman at 4:07 AM on August 19, 2009 [2 favorites]


But if a multiple comment form submissions happen at exactly the same time, we get duplicate comments in the database

Is there a reason you aren't using a lock to avoid this problem?

(I mean, other than this man's beard)
posted by cillit bang at 4:19 AM on August 19, 2009


double posts.
posted by flapjax at midnite at 5:32 AM on August 19, 2009


Is there a reason you aren't using a lock to avoid this problem?

"Now you've got two problems."
posted by smackfu at 5:45 AM on August 19, 2009 [1 favorite]


I'm also a little confused as to why we're supposed to flag them HTML/display error when one of the flag options is "double comment."
posted by ocherdraco at 6:04 AM on August 19, 2009


Java who?

java good cup of coffee at starbucks?
posted by pyramid termite at 6:28 AM on August 19, 2009


Java the Hutt, of course.
posted by goodnewsfortheinsane at 7:05 AM on August 19, 2009


What's up with all the double and triple posts in the comments in the past couple of weeks?

Someone has been playing with the replicator and it's gotten all trouble with tribbles down here in the tubes.
posted by The Whelk at 7:22 AM on August 19, 2009


Yes, "double comment" is the better flag. I misspoke.
posted by pb (staff) at 7:26 AM on August 19, 2009


Wait... JVM just restarts itself? Why? Isn't that.. not right?

No, it's awesome. The alternative is the JVM not restarting itself and a human having to notice and do it. Hello extended downtime when tens of thousands of keening salarymen are trying to neglect their TPS reports.
posted by cortex (staff) at 7:44 AM on August 19, 2009


I saw a string of these in some MeTa thread while reading my Recent Activity page. I was going to jump into the thread a make some snarky reply. but when I got there, they were all gone.

At this point I drew the obvious conclusion that the internet itself had finally become sentient and had taken upon itself the task of whittling my sanity away. So I put on my helmet, crawled under my desk and whimpered for a while.

This was remarkably relaxing, though holding team meetings was kind of awkward; my cube isn't very big and everyone had to sit on the floor.
posted by quin at 8:16 AM on August 19, 2009


I've experienced long delays/hangs when previewing or posting comments in the past few days, and kinda assumed that all the double comments were from people slightly less patient deciding to hit the submit button a coupla times.

Also, Metafilter has been on a periodic no-load for me over the same time period. The rest of the internet is delivered fine, but Metafilter has sometimes failed and come back with an error message. Usually if I leave and try again after 15 minutes the problem is gone. I don't remember the message it comes up with, but I'll make a note if it happens again and forward it, just in case it's a serious problem your end.
posted by Sova at 8:27 AM on August 19, 2009


I've also experienced balky MetaFilter server response/load behavior but only in, say, the last two weeks or so but particularly on Monday of this week.
posted by bz at 8:33 AM on August 19, 2009


i thought there was code that checked to prevent identical comments, because at one time someone thought it was funny to post several in a row.
posted by Hovercraft Eel at 8:42 AM on August 19, 2009


i thought there was code that checked to prevent identical comments, because at one time someone thought it was funny to post several in a row.
posted by Hovercraft Eel at 8:42 AM on August 19, 2009


 i thought there was code that checked to prevent identical comments, because at one time someone thought it was funny to post several in a row.
posted by Hovercraft Eel at 8:43 AM on August 19, 2009


it's always been easy to beat though.
posted by Hovercraft Eel at 8:44 AM on August 19, 2009


The idea behind that code isn't to stop people who want to post identical comments intentionally, it's to stop unintentional reposts.
posted by pb (staff) at 8:50 AM on August 19, 2009


cortex: "failwhaling"

FailToFilter? MetaFailter?
posted by boo_radley at 8:53 AM on August 19, 2009


it's always been easy to beat though.

Of course, it was only designed to catch hiccups, not intentional doubles, so it's not quite idiot-proof.
posted by cortex (staff) at 9:02 AM on August 19, 2009


The idea behind that code isn't to stop people who want to post identical comments intentionally, it's to stop unintentional reposts.
posted by The Whelk at 9:23 AM on August 19, 2009


Also, the code is designed to catch unintentional doubles, not willful redux action.
posted by cortex (staff) at 9:37 AM on August 19, 2009


Indeed, the code was intended and designed to stop unwanted re-posts, not people posting the same thing twice.
posted by The Whelk at 9:40 AM on August 19, 2009


Besides, the code is intended to prevent unplanned duplications, not overt comment cloning.
posted by quin at 9:41 AM on August 19, 2009


Can we agree that the code is to catch accidents, not comment referencing?
posted by The Whelk at 9:43 AM on August 19, 2009


....keening salarymen are trying to neglect their TPS reports.

Must be a US thing. Most of what I hear around my office in Canuckistan are low, sustained moans.

Though, come September, this does tend to confuse the moose, leading to some awkard moments around the watercoolers.
posted by bonehead at 10:06 AM on August 19, 2009 [1 favorite]


I just like the word "keening".
posted by cortex (staff) at 10:19 AM on August 19, 2009


What pb said about flagging; we'll clean 'em up as soon as we see them, which during daylight hours is generally pretty promptly.

Much appreciated.

If things seem to hang on you when you're personally submitting a comment, maybe try to copy to clipboard just to be sure and then do a preview in a minute or two to make sure your comment isn't already there when thing seem responsive, and only then try resubmitting.

Will do. Worth noting that's not always possible. My smartphone doesn't have a clipboard function. When get time out errors, refreshing the page loses my work. So, I generally assume that a timeout error means my comment *hasn't* been posted, and 99% of the time I'm right.
posted by zarq at 10:56 AM on August 19, 2009


Ever since I joined Metafilter, TPS reports have become a lot more exciting. No one in my office understands them anymore, of course, but still, it's fun to report on TPS. Some examples:

"She is currently giving kickass advice in AskMe."

"Her most recent post to the Blue was well received."

"I am excited about her impending wedding."
posted by ocherdraco at 11:36 AM on August 19, 2009


Will do. Worth noting that's not always possible. My smartphone doesn't have a clipboard function. When get time out errors, refreshing the page loses my work. So, I generally assume that a timeout error means my comment *hasn't* been posted, and 99% of the time I'm right.

Yeah, obviously specific tech limitations can get in the way here.

pb has been doing some looking under the hood, it may be that we can tweak the garbage collection on the JVM to help prevent some of the odd bumps. Says, secondhand, the guy who doesn't touch the stuff.
posted by cortex (staff) at 11:39 AM on August 19, 2009


You have a garbage collection? Would you like some of mine?
posted by languagehat at 11:55 AM on August 19, 2009


Netzapper: Undoubtably good points, and they all make sense. I would still hesitate to use Java, though, if only because you have such high variability in the whole implementation stack that the chance of something going wrong is higher than I'd like to deal with. I wouldn't want a system that needed to automatically restart itself all the time (and, unfortunately, this "feature" has extended to some of those platforms you listed, including an older phone I had).

In any case, I'm certainly not a Java hater (quite like the language, actually). Just weary of inherent instability in complex systems.
posted by spiderskull at 1:46 PM on August 19, 2009


Apparently it's a nondeterministic garbage collection. He can't tell you if he wants yours or not.
posted by nebulawindphone at 2:46 PM on August 19, 2009


No no, it only collects nondeterministic garbage. You'll still have to take your busted crosses to the tip yourself.
posted by coriolisdave at 8:46 PM on August 19, 2009


Good news: we haven't had any duplicate comments since we tweaked our JVM settings yesterday. Bad news: we can't pick up your garbage.
posted by pb (staff) at 10:26 AM on August 20, 2009


Also, Metafilter has been on a periodic no-load for me over the same time period. The rest of the internet is delivered fine, but Metafilter has sometimes failed and come back with an error message. Usually if I leave and try again after 15 minutes the problem is gone. I don't remember the message it comes up with, but I'll make a note if it happens again and forward it, just in case it's a serious problem your end.

503 error. It happened to me again a minute ago. I assume it's not a serious issue, but just so you know.
posted by Sova at 1:24 PM on August 20, 2009


Yeah, just saw it. I think that one was the result of some actual plumbing pb is doing right now, though, not a happenstance thing.
posted by cortex (staff) at 1:38 PM on August 20, 2009


Kk. It keeps failing left right and center tonight, so I'm going to give it up til tomorrow. I so wanted to opine on Dawkins too, drat.
posted by Sova at 1:57 PM on August 20, 2009


Yeah, this afternoon was specifically caused by something I was working on. We should be back on track now.
posted by pb (staff) at 3:36 PM on August 20, 2009


pb is some sort of MacGuyver meets Godzilla. The man is a Doer of Things, and an efficient one at that.
posted by spiderskull at 12:56 AM on August 21, 2009


Yesterday it was more like MacGruber.
posted by pb (staff) at 7:29 AM on August 21, 2009


« Older Letters, oh we get letters   |   Asploding Asian Girlfriend Newer »

You are not logged in, either login or create an account to post comments