8

I'm trying to vote to close this question as a duplicate of this one. The former question had just been asked 20 minutes ago, whereas the latter one was closed as a duplicate back in 2010 and hasn't been edited by a human user since 2011.

However, when I try to vote to close the much newer one as a duplicate of that much older one (which, by the way, is closed as a duplicate of two other questions that, obviously, existed back in 2010), I get an error message saying that my closure would result in a duplicate circle. This wouldn't be the case here.

I did some research using my 10k+ abilities, and found the following:

  • I attempted to close this new question (which I'll call A) as a duplicate of B.
  • B is closed as a duplicate of two questions, C and D. (C is open, and D is deleted.)
  • D is closed as a duplicate of B and C.

Here's a flowchart:

Flowchart of above

So it seems like there is indeed a circle, between B and D, which are both closed as duplicates of each other. But this circle is broken now that D is deleted; effectively B is now closed as a duplicate of only C, which means that my closure would be A -> B -> C, which is not a circle.

And even if D were to not be deleted, a circle between B and D shouldn't affect my ability to close A as a duplicate of B, because B also has C as a target, which exists and is open.

So effectively, the system seems to be overzealously blocking circles, even though there are ways for it to not be circles. Also, this would have been extremely confusing to a <10k user, as there would have been no way for them to figure out what was going on; I could only have known about the third bullet with my 10k-vision.

Can we please change the duplicate "circle" checker so that it does not give the error message if there is a way for a certain duplicate path to not be a circle, even if there does exist one circular path? In other words, only give the error if the only possible paths are circles? Or at the very least disregard deleted posts when calculating circles (the system now blocks humans from deleting duplicate targets, but there are older cases like this one where it wasn't blocked, and it can still happen as a result of Roomba deletions)?

0

1 Answer 1

4

The problem is: yes, it would lead to a circle. Even if that particular question isn't a part of the circle or there is a path that leads out of the circle. The problem is there is a circle somewhere and it shouldn't exist and should be removed.

You're only looking at one specific case here, where you want to create a line from A to B to C and ignore the B to D to B circle. Problem is, that's not the only case where a circle could exist.

What if D already pointed back to A? We should allow it to go through because A to B to C is still not a circle, even though A to B to D to A does create a circle encompassing the current question? Certainly we shouldn't allow that...

The correct thing to do in this situation is to break the circle that exists, not to just ignore it. That may be annoying when the circle already existed from times before we prevented them, but that doesn't mean we need a bypass for pre-existing circles.

The best solution in this particular case is to simply reopen B and reclose it as only a duplicate of C so that the link between B and D breaks and the circle no longer exists and, hey, one question no longer points at a deleted duplicate.

4
  • 1
    This answer does not address the fact that <10k users could not have been able to see any sort of circle here, and would have been confused by the error message. May 7, 2019 at 15:09
  • 1
    So let them ask about it, or just choose a different target, We're not going to let them bypass the check simply because they can't see the exact problem.
    – animuson StaffMod
    May 7, 2019 at 15:11
  • 1
    Why not modify the circle-checking logic to ignore deleted posts? May 7, 2019 at 15:14
  • 1
    Because that's just ignoring yet another problem.
    – animuson StaffMod
    May 7, 2019 at 15:14

You must log in to answer this question.

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