Comment 7 for bug 1450251

Revision history for this message
William Grant (wgrant) wrote : Re: [Bug 1450251] Re: Systematic Timeout while trying to mark a bug as duplicate

On 17/06/15 09:17, teo1978 wrote:
>> Launchpad isn't designed for bugs to have more than 1000 duplicates.
>
> Well that's STUPID to begin with. For a bug to have several thousands
> duplicates is normal. Also, if it is not capable of handling that, it
> shouldn't allow that. If it allows it, it must handle it.

Software isn't flawless, and there are anomalous edge cases for almost
all software that aren't handled well. In this case, a cosmetic
operation is unable to be performed on roughly 0.00005% of bug reports,
and there is a workaround, so it's not a very high priority to fix
directly. If we were to fix it, the fix would be to prevent marking bugs
with more than 100 duplicates as a duplicate of another bug -- not a
significant improvement over the "sorry, you can't do that because it
was too slow" message that you get now.

>> when you mark a bug with 1000 duplicates as a duplicate of another
> bug, it has to also switch all 1000 duplicates over to the new master
> bug.
>
> That's not the only case.
> I have "moved" a few bugs that were dupes of A to dupes of B, because I couldn't mark A as dupe of B. Now, any attempt to mark any further bug X as dupe of B times out, even though X doesn't have any dupes . This cannot be justified by anything else than wrong designed. This should be a O(1). If it isn't, something is wrongly designed.

Someone was repeatedly trying to mark A as a duplicate of B many
thousands of times an hour, causing database locks to be held on A, B,
and all of A's duplicates, preventing other duplicate operations from
completing on those bugs.

Now that they've stopped doing silly things like that (the message
suggests retrying in a couple of minutes, not immediately retrying
several times a second for several hours!), marking dupes of A as dupes
of B instead works fine through both the web UI and the API. Once most
of them have been moved across, A can be marked as a dupe of B and the
workaround will be complete. If it doesn't work, say so in a pleasant
manner and we can work out why it's broken again and how to fix it.

>> so it does not perform well in the uniquely pathological case of bug
> #1268257.
>
> "Uniquely pathological", Do you realise how idiotic that sounds?

It's not idiotic at all. A pathological case is an unlikely set of
circumstances that can cause bad behaviour, deliberate or otherwise.

In this case, the largest master bug in history is being marked as a
duplicate of another large master bug -- only necessary because someone
filed a new bug and decided that *it* should be the new master, rather
than using the existing bug, a very uncommon occurrence for an
established bug with hundreds of duplicates. This particular 0.00005% of
the dataset is by far the biggest piece of work that this code has ever
seen, and the code does not handle it well, so it is clearly a uniquely
pathological case.

> That is
> not something that was done on purpose for the sake of testing, that's
> something that naturally happened, because people use software and
> stumble into bugs, and they report them, and sometimes they are
> duplicates. And sometimes bugs are huge and hit millions of people. And
> with Ubuntu, that happens a lot.

I run the service that provides Ubuntu's bug tracker, so I know Ubuntu's
bug tracking patterns, which is how I know that the bug in question is
an exceptional case. Bugs frequently have a couple of hundred
duplicates, but substantially more than that is rare, and marking one of
those as a duplicate of another is extremely uncommon.

You're saying that a bug being bad enough to have thousands of
duplicates is expected and normal, while also saying that a Launchpad
bug relating to one operation on that single bug with thousands of
duplicates is unacceptable. Bugs happen, in bugtrackers or in Ubuntu. Is
that Ubuntu bug also unacceptable and worth unpleasant rants in bug reports?

> There's nothing pathological about it, except for the magnitude of the
> bug.
>
> But if Launchpad has not been designed to handle bugs of such huge
> impact, then it's not a proper bug tracker for Ubuntu.

The size is exactly what is pathological about it, yes. Ubuntu's other
million bugs work fine.