Yesterday, 5 of my questions were downvoted within 2 minutes on one Stack Exchange website (askubuntu). I didn't pay much attention to it as I thought that it would get detected as serial downvote, and therefore reversed.

Instead, my questions were deleted, due to the auto-delete script aka roomba (the questions were a bit more than 1 year-old).

Why didn't the votes get reversed, and is that how Stack Exchange is supposed to work?

Following Nicael's answer, there seems to be some conflict between the reversal script and roomba: the votes did get reversed, but the questions got removed nevertheless:

enter image description here

Update 2016-12-24: the issue is still present.


2 Answers 2


A fix for this is going out today. The weekly job culling questions runs at midnight and the fraud reversal happens at 3AM (both UTC). Now, the weekly job will only consider questions which have a non-deleted down vote more than 2 days old. This will give any fraud reversals a run before the votes are considered.

  • 2
    Why only two days? If a serial downvote is not caught, reversing it may take a bit longer, because it involves the CM team, etc. Since we are talking about posts that were around for a year, there should not be much harm if they stick around for an additional week.
    – Wrzlprmft
    Commented Jan 10, 2019 at 18:39
  • 1
    This was based on data - I found only 1.3% posts affected by a longer window (and zero of those affected by fraud). The window we're talking about is 30 days, not a year, so 7 days is quite a change there. I feel this is the best compromise, since it covers the edge case without leaving them around longer. One more note: serial downvote scripts do not require human interaction. They run in addition to things humans do. Commented Jan 10, 2019 at 18:51
  • The window we're talking about is 30 days – I see. The question is talking about the 365-day roomba though, IIUC. — serial downvote scripts do not require human interaction. – I know, but they are also not perfect and if they fail, it takes some time to solve the issue with other means.
    – Wrzlprmft
    Commented Jan 10, 2019 at 20:23
  • I don't think the text here says quite what you intended. As currently written, this says that to be considered by the Roomba, the question must have a non-deleted down-vote that is more than 2 days old. That would mean questions with no votes and sitting at 0 score would not be deleted by the RemoveAbandonedQuestions task (i.e. the weekly 365-day task), which would make that task much less effective. I think that you intended to say something like "In order for a question to be considered by the Roomba all existing down-votes on the question and its answers must be at least 2 days old."
    – Makyen
    Commented Jan 11, 2019 at 10:13
  • Which makes me realize that I should ask: Is it now requiring all down-votes on the question and all of the question's answers to be more than 2 days old, or is the requirement that down-votes must be older than 2 days only for any down-votes on the question?
    – Makyen
    Commented Jan 11, 2019 at 10:38
  • @Wrzlprmft These were caught by the 30 day task (not the 365 day task - that was an incorrect assumption in the question). They were already past 30 days. The fraudulent downvotes caused them to meet the Score criteria as well - this could have happened at 1 year or 7 years...as long as it was > 30 days. Commented Jan 11, 2019 at 11:25
  • @Makyen There are 2 different cleanup tasks that are being conflated here: RemoveAbandonedQuestions and RemoveDeadQuestions. These were affected by the latter, and is what was modified here. Commented Jan 11, 2019 at 11:28
  • 1
    OK. So, let me double check my understanding: Only RemoveDeadQuestions (the >30-day weekly task for score < 0 questions) has been modified. It has been modified such that all down-votes on the question must be > 2 days old (the Q is already disqualified if it has non-deleted answers, so those are not an issue). Neither RemoveAbandonedQuestions (>365-day, weekly) nor RemoveAbandonedClosed (9-day after close, daily) have been modified. Both will not check the age of any down-votes on the question, and RemoveAbandonedClosed will not check the age of any down-votes on answers. Correct?
    – Makyen
    Commented Jan 11, 2019 at 12:07
  • @Makyen Yep, that’s right. Commented Jan 13, 2019 at 12:43
  • If what you're saying is correct, then supposedly there's a bug: the question mentioned in this thread was supposedly automatically deleted by RemoveDeadQuestions less than 12 hours after reaching the criteria. Can you please investigate what happened in this case? Commented May 18, 2019 at 11:06
  • @SonictheInclusiveHedgehog Not a bug, but my confirmation above was indeed wrong (my fault!). It must have a downvote older than 2 days as stated in the answer. Not all downvotes have to be > 2 days. If that was true, a question could be downvoted once every 2 days forever and never be removed. The goal was to prevent quick -1 score removals. The question in play here was correctly removed. Commented May 18, 2019 at 11:13
  • @NickCraver But in that case, it does not prevent quick -1 score removals, especially on old questions with "controversial" vote scores (e.g. +3/-3). Such an older question would indeed end up getting lost as a result of quick downvotes. Commented May 18, 2019 at 11:15
  • Sure that could happen, but the chances of a 30 day old + question going from -1 back to 0 in under 2 days is exceedingly small. No algorithm is going to be perfect. For things operating on tens of millions of questions, we have to draw the line at reasonable somewhere. I can't have every query taking 20 minutes to be "perfect" (and it still wouldn't be anyway - someone still wouldn't like the behavior no matter what's decided on). Commented May 18, 2019 at 11:18
  • Pinging @Makyen to notify them about this response. By the way, the chances of a question going from -1 back to 0 under 2 days is a guaranteed 100% if it was detected as a serial downvote. (To be clear here, I'm not referring to the linked case, but to the general case in the question regarding serial downvoting.) Commented May 18, 2019 at 11:22
  • 1
    I agree that downvotes coming in repeatedly within 2 days of the script running is a corner case that would be inconvenient. However, as currently implemented, this doesn't really accomplish the intended goal. The issue of having the query be too long is certainly also important. Perhaps just limit the check to only questions which would not be deleted if 1 vote placed in the last 2 days is reversed (misses serial voting by sock-puppets, but only more complex for score = -1). Better would be to just ignore downvotes in the last 2 days (i.e. current score + # of downvotes in the last 2 days).
    – Makyen
    Commented May 18, 2019 at 12:03

This's happening probably due to the script conflict - both reversal and roomba scripts run 3:00 AM UTC as it was stated somewhere, but I've seen several times that Community removes a question at 3:01 (despite the site being very low-traffic; on the high traffic sites I think it can take 10+ mins for the script to check all the questions), i.e. sometimes a bit later, guess there's some order and roomba runs after the reversal script (not even exactly at 3 o'clock).

So, you have to check "show removed posts" in your reputation tab and you'll see them. Then just go and flag (with "other", providing the explanation) - I see no other option.

  • I had missed this option, thanks! This indeed seem to show some conflict between roomba and reversal scripts (see screenshot I added in the question) Commented Nov 14, 2015 at 21:04

You must log in to answer this question.

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