18

This question is more for general information on how the reopen review process works, but for those who prefer to deal in concrete examples, the post which prompted this is here.

About 24 hours ago I voted to reopen a question (the first result of a Google search with similar terms, question score of 20, answer score of 50, no downvotes). Despite being a day later, it still has only my one reopen vote. After painstakingly going through 16 pages of review history for the past 24 hours, it does not appear to have ever been reviewed. At the time of this posting, there are only 14 questions in the queue, so it should definitely have seen the light of day by now.

Therefore I must conclude that it did not in fact enter the reopen queue. Is this true? If so, what action is needed to place it in the queue if not nominating it for reopen? What prevents a post from entering the reopen queue?

Again, not asking about the one particular question, but rather about the workflow and process behind the scenes which leads to this state of things.

  • 1
    I found a number of near dupes, but none deal with a search of the queue not finding the post at all. If you think you found a dupe, please double-check this specific case is indeed answered, as I haven't found one. – mhlester May 6 '15 at 21:43
  • Two guesses: 1 - too much time has passed since closing (maybe bug), 2 - close reason doesn't exist anymore so maybe it borked something behind the scenes. – ShaWiz May 6 '15 at 22:14
  • Think I should retag bug? – mhlester May 6 '15 at 22:16
  • Yeah, worst case dev will remove it. – ShaWiz May 6 '15 at 22:20
  • 2
    So... Good catch. This was a pretty obscure bug, but one that probably prevented a decent number of reviews. – Shog9 May 7 '15 at 3:58
14

It appears this has been broken for over two years now...

Background: reopen review triggers

There are three ways a question can end up in Reopen Review:

  1. A reopen vote is cast when there are no other active reopen votes on the question. Note that this allows for a single question to be enqueued multiple times, provided all votes age away before another one is cast.

  2. A body edit is made within 5 days of the question being closed by someone who didn't vote to reopen. This allows for a single question to be enqueued multiple times, but only once for each time the question is closed.

  3. The question gets popular, for a definition of "popular" based on votes and views. This can only trigger review once for the life of the question.

So far so good, right? But...

The bug: date aggregation

The query that combines these three criteria implemented each one carefully, each producing a question ID to be reviewed and date-time pair representing the earliest date the question could've entered review. This was then used to prevent unnecessary review task creation by comparing the date-time with that of existing review tasks.

select   x.PostId
              , min(x.FirstVoteOrEditDate) FirstVoteOrEditDate

...and that was how the criteria were aggregated. See the bug? If the question was popular, the "popularity date" (actually the question's creation date) would trump the reopen vote's creation date, preventing any further reviews.

Changing that min() to max() allows the three criteria to each work independently, with only the restrictions they were designed with.

Thanks for catching this - no telling how many reviews we've avoided because of it. Jarrod has implemented a fix for it, and the proper behavior will exist after the next build.

  • 1
    For something so seemingly simple as min vs max, I'm always amazed how often I personally use the wrong one. – mhlester May 7 '15 at 5:23
  • 1
    No hope of re-enqueuing any that were lost over the years, or maybe just not worth it? Water under the bridge? – mhlester May 7 '15 at 5:23
  • 4
    Congrats for becoming a dev! :-D – ShaWiz May 7 '15 at 7:17
  • 1
    Shut your mouth, @sha - I clearly wrote that Jarrod fixed this. – Shog9 May 7 '15 at 13:17
  • So he let you take the repz. How noble of him. :P – ShaWiz May 7 '15 at 13:22
  • No easy way to force them to be enqueued, @mhlester. I'll do some sanity-checking to make sure nothing awful happened as a result. – Shog9 May 7 '15 at 13:26
  • 1
    @ShadowWizard If a developer wrote an answer to this, chances are we'd get only the last sentence of this answer. – user259867 May 7 '15 at 15:58
  • 2
    @Yes Hey, you got three whole sentences from me. Granted, they were wrong (except the last one), but still. :P – Adam Lear May 7 '15 at 20:16

You must log in to answer this question.

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