30

In the last hour or so, there have been multiple instances where I have hit "Approve" on an edit, only to have the same edit brought back up again.

Hitting "Approve" again still does not advance the edit, and no orange box appears to indicate that someone has already rejected it or approved it. Hitting "not sure" seems to be the only way around it.

I have tested this on both Chrome 22.0.1229.94 and Firefox 15. There doesn't appear to be anything wrong with my connection, and the other queues are working just fine. I don't have a screenshot as there's not much to show.

Update: I just had this happen with a reject on Super User as well.

Update: Clicking "Improve" brings up the edit box for the post - but without the suggested edits, i.e. the original post content is shown.

21
  • 6
    Repro here. I saw the same earlier. But I refreshed instead of hitting "Approve" again.
    – Mysticial
    Oct 12, 2012 at 2:15
  • I didn't try refreshing the page, actually. Does that escape it?
    – jonsca
    Oct 12, 2012 at 2:16
  • I remember clicking away when I saw the dupe. When I went back to the queue, it popped up a 3rd time. I hit "Approve" and it worked.
    – Mysticial
    Oct 12, 2012 at 2:17
  • 1
    This seems to be happening to me when there is only 1 item left in the queue Oct 12, 2012 at 2:48
  • 4
    @GlennSlaven I think for me there was more than one thing in there, but I'm not 100% about that.
    – jonsca
    Oct 12, 2012 at 2:50
  • 4
    This happened to me earlier. After voting on the same two edits 2-3 times, I looked at the history and there was no indication I had acted on them at all.
    – Kevin
    Oct 12, 2012 at 3:38
  • 1
    Just happened to me Oct 12, 2012 at 3:42
  • I can confirm that it does happen with more than one item in the queue - it just happened to me when I had two.
    – Mac
    Oct 12, 2012 at 6:06
  • It does happen a lot of time. Oct 12, 2012 at 6:15
  • 3
    To add to my previous comment: I just got caught in a loop with multiple posts - two posts, and when I approve/reject one, the other appears.
    – Mac
    Oct 12, 2012 at 6:31
  • Same to me this morning.
    – j0k
    Oct 12, 2012 at 8:51
  • I have this, too. I wondered if it is just the new firefox 16.0
    – örs
    Oct 12, 2012 at 9:34
  • @örs Actually, I had it under the old 15 Firefox and Chrome, so I don't think so...
    – jonsca
    Oct 12, 2012 at 9:36
  • Just happened to me with 11 pending edits. Tried refreshing, and hitting not sure and going back and trying again. Is this some sort of throttling mechanism? I can deny extremely minor edits pretty quickly. Oct 12, 2012 at 10:26
  • My work-around turns out to be false hope; votes in that manner are not recorded. Oct 12, 2012 at 10:51

1 Answer 1

13

Update: we've fixed another underlying cache bug (where cache wasn't being cleared cross-server), that should eliminate the last of the craziness including the unable-to-approve scenario above.


A fix for this is being deployed across the network in the next few minutes. It's a race condition causing it...so we'll continue to monitor.

What caused this you say? We made some major performance tweaks last night to further lessen our SQL load. One thing that we were needlessly doing on every question page load was querying for suggested edits on any of the posts. This has 2 effects:

  • If you made the edit, you see it with a banner that notes it's waiting for approval
  • If you have an edit button, you see a (1) indicating there's an edit (which also causes the review panel to popup, rather than an editor...since there is one)

Given that even on Stack Overflow the Suggested Edit queue is capped at 200, and most of the time it's in the single digits, this meant a 99.9999% miss rate on that query. Wouldn't it be better to cache a list of Post Ids in memory that have edits, then just do a further query if there's a hit on that cache? Why yes, that sounds like a lovely idea.

What was happening was individual web servers were removing items from that list as they were dequeued (approved, rejected, deleted, etc.) but were doing so from their copy of the cache which led to all sorts of per-server and cross-server race conditions.

Instead of being that optimized we'll just sync with SQL every time there's a change. On average this is around once a minute...compare that to the query on every question show running approximately 150 times per second (this was measured well after peak hours, it actually gets run way more than that), that's still a tremendous win. Also the sync query is a 0-1ms operation with our filtered indexing, so that helps make this a no-brainer fix.


As I wrap this up, Stack Overflow is rolling through a deploy now and will finish in 90 seconds...if you still see issues after that please comment here and we'll track them down.

12
  • Still seeing it on SO... not sure what other info you need... and now seems to be working. Maybe 90 seconds turned into 15 minures. :)
    – Barak
    Oct 12, 2012 at 15:39
  • I lied, went back in and it is still happening.
    – Barak
    Oct 12, 2012 at 15:42
  • @Barak - what are you doing exactly? There were multiple issues here across the sites, need specifics on what you're doing Oct 12, 2012 at 15:50
  • 1
    Stack Overflow, reviewing suggested edits, hit approve, does its thing (Approving) and then the same suggested edit came up again.
    – Barak
    Oct 12, 2012 at 16:11
  • @Barak - taking a look - I didn't write any of this so there's a bit of code learning along the way, hopefully can track this down shortly Oct 12, 2012 at 16:24
  • Great! Unfortunately, I've got to leave soon (that pesky job thing), so hopefully someone else can assist you in tracking it down if you find it after I'm gone.
    – Barak
    Oct 12, 2012 at 16:30
  • @NickCraver If it helps: I see still see the bug while attempting to Approve or Reject the last Suggested Edit in Stack Overflow.
    – Sam
    Oct 12, 2012 at 16:52
  • Same here, I still have the bug.
    – j0k
    Oct 12, 2012 at 17:32
  • 4
    We're looking at the approval bug, tracked down another underlying bug with the cache that's getting pushed out now - it wasn't syncing between web servers as we thought it was. Oct 12, 2012 at 17:46
  • Thanks so much for looking into all of this, Nick.
    – jonsca
    Oct 12, 2012 at 21:01
  • (and for the fix, of course, hehe! I was AFK for a while there)
    – jonsca
    Oct 12, 2012 at 21:05
  • @NickCraver, seems to have been fixed here too.
    – Barak
    Oct 13, 2012 at 13:58

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .