Imported bugs from bugzilla should be assigned the same number as their bugzilla ID (i.e. Bug 1 -> Task 1; Bug 2007 -> Task 2007)
Closed, DeclinedPublic

Description

Otherwise it will be a huge mess for people to re-remember task numbers.

Rationale

If this issue is not fixed:

  • X' person-hours of work would be wasted by N frequent bugzilla users (including developers) to unlearn and re-learn issue numbers, for a cost of X dollars;
  • Y dollars of costs are taken in terms of risks for that links and references to bugs break, because we're not able to redirect everything or rewrite all documents produced or printed in the last 10 years worldwide (not just inbound links, it's also in the content of MediaWiki:CodeReview, Gerrit commit messages and discussions, change logs, engineering reports and of course within the content of the bugs themselves);
  • ...

Fixing this issue may cost W dollars. W is arbitrarily assumed to be lower than the sum above.

Resolution

Preserving Bugzilla report numbers in Phabricator is a very complex task. People used to memorize bug numbers can find the new tasks by using the old Bugzilla URLs (probably in their browser history already) or Maniphest's advanced search (see T991).

Why the complexity:

  • We have close to 1000 tasks created in phabricator.wikimedia.org. In order to make Bug 1 T1 we would need to change the current task numbers or hack Phabricator with a local patch in order to create new series of numbers i.e. "B1".
  • In order to migrate 70.000 bugs in a decent time-frame (1-3 days), we need to do migrate bugs simultaneously in batches. In order to keep bug numbers, we would need to do the migration strictly sequential, starting to migrate a new bug only after the previous one has been migrated. This would increase dramatically the time required for the migration, with Phabricator and Bugzilla down.
  • Guaranteeing that all tasks would preserve the bug number is very risky. In the way Phabricator creates tasks via API, one error producing an incomplete attempt would create a new task that would take the next number available, breaking the correlation of bug numbers from that point.

While we agree that the change of numbers will be annoying for some people with good memory, we believe that --with a bit of patience-- the problem will be solved as new numbers become as relevant as the old ones were. In the meantime, the transition should be simpler with the automatic redirects from Bugzilla URLs to Phabricator tasks, and probably even simpler when combined with the users' browser history.

There are a very large number of changes, so older changes are hidden. Show Older Changes

@chasemp knows the technical details and I will leave to him the confirmation of the resoltion (Declined, in my view). The main point though is that this is technically very very complex, not worth the fight.

Since old Bugzilla URLs will point to new Phabricator tasks, you can always use that as a way to land in the Phabricator tasks that you had literally in mind.

This is also a temporary problem for an elite of users that do remember more than a handful of bug report numbers by heart. New numbers will come and some of them will be remembered.

In T857#14484, @Qgil wrote:

@chasemp knows the technical details and I will leave to him the confirmation of the resoltion (Declined, in my view). The main point though is that this is technically very very complex, not worth the fight.

Since old Bugzilla URLs will point to new Phabricator tasks, you can always use that as a way to land in the Phabricator tasks that you had literally in mind.

This is also a temporary problem for an elite of users that do remember more than a handful of bug report numbers by heart. New numbers will come and some of them will be remembered.

… but this was a fundamental part of the promise for the migration. Replacing thousands of {{bugzilla|foo}} templates with {{phabricator|foo}} is a bot task (or indeed just a redirect). Replacing them with {{phabricator|bar}} is a non-starter. It's hugely disappointing for this to have been reversed without any notice. :-(

demon added a subscriber: demon.Oct 24 2014, 4:11 PM

+1 to everything James said :(

Qgil added a comment.Oct 24 2014, 4:14 PM

I don't recall making this promise. How could we, since the early days it has been clear that keeping numbers was really hard considering how the migration technically works.

What we discussed is this: {{bugzilla|foo}} will point to Bugzilla redirects that will send users automatically to the Phabricator tasks they are looking for.

demon added a comment.Oct 24 2014, 4:16 PM

I think if we'd had BZ ready to import for day 1 instead of waiting and importing labs content first was the problem. Otherwise we could've just started with T1: Get puppet runs into logstash at import.

In T857#14507, @Qgil wrote:

I don't recall making this promise. How could we, since the early days it has been clear that keeping numbers was really hard considering how the migration technically works.

What we discussed is this: {{bugzilla|foo}} will point to Bugzilla redirects that will send users automatically to the Phabricator tasks they are looking for.

For a few years. We're talking here about links that need to work in a decade.

In T857#14509, @Chad wrote:

I think if we'd had BZ ready to import for day 1 instead of waiting and importing labs content first was the problem. Otherwise we could've just started with T1: Get puppet runs into logstash at import.

Indeed, I was surprised at this instance being started prematurely but assumed that they were all going to get renumbered up to start from 100,000 as had been previously discussed.

Related: T40, T197, T625.

Proposing DECLINED one more time.

Proposing BLOCKER one more time.

I think this is a sufficiently-large issue that it should absolutely definitely be a blocker for migration. The deadline is just an arbitrary aspiration; fundamentally breaking existing links with a hack to redirect people. Discarding this requirement in this way is not cool.

Qgil added a comment.EditedOct 24 2014, 4:29 PM
In T857#14509, @Chad wrote:

I think if we'd had BZ ready to import for day 1 instead of waiting and importing labs content first was the problem. Otherwise we could've just started with T1: Get puppet runs into logstash at import.

As far as I know, this is not related about T1 not being available today, but about the script migrating Bugzilla reports one by one or in batches. I guess @chasemp could fine tune his script to import task 1 completely, then 2, then 3... And I guess we could assign them task numbers *1, *2, *3... here. However, this would lead to a much slower migration. People are already uncomfortable with our 1-3 days Bugzilla+Phabricator downtime. Would they willing to add 1-2 days just to keep the numbers?

For a few years. We're talking here about links that need to work in a decade.

What is the problem of keeping redirects during a decade or more? It's a static piece of information that doesn't bother the servers.

Qgil added subscribers: Unknown Object (MLST), Nemo_bis.
In T857#14529, @Qgil wrote:
In T857#14509, @Chad wrote:

I think if we'd had BZ ready to import for day 1 instead of waiting and importing labs content first was the problem. Otherwise we could've just started with T1: Get puppet runs into logstash at import.

As far as I know, this is not related about T1 not being available today, but about the script migrating Bugzilla reports one by one or in batches. I guess @chasemp could fine tune his script to import task 1 completely, then 2, then 3... And I guess we could assign them task numbers *1, *2, *3... here. However, this would lead to a much slower migration. People are already uncomfortable with our 1-3 days time frame. Would they willing to add 1-2 days just to keep the numbers?

In general, the downtime is bad. But for this? Yes, I think so.

For a few years. We're talking here about links that need to work in a decade.

What is the problem of keeping redirects during a decade or more? It's a static piece of information that doesn't bother the servers.

It's yet another thing to break. ;-)

fundamentally breaking existing links

What is "fundamentally breaking" here? You go to the Bugzilla URL for Bugzilla ticket 12345 and you end up at the corresponding Phab ticket (whatever number it'll have). That's not "breaking" to me.

fundamentally breaking existing links

What is "fundamentally breaking" here? You go to the Bugzilla URL for Bugzilla ticket 12345 and you end up at the corresponding Phab ticket (whatever number it'll have). That's not "breaking" to me.

Because a link to foo now goes to bar. Same content, different system, unexpected user outcome. The redirect is a hack to rescue people that have gone to the wrong place; it's not the main form through which people should come to Phabricator.

demon added a comment.Oct 24 2014, 4:40 PM

I think an extra 1-2 days of downtime to do this right is well worth it.

Qgil triaged this task as Normal priority.Oct 24 2014, 5:52 PM
Ricordisamoa added a subscriber: Ricordisamoa.
revi added a subscriber: revi.Oct 25 2014, 10:51 AM
scfc added a subscriber: scfc.Oct 25 2014, 1:55 PM
He7d3r added a subscriber: He7d3r.Oct 25 2014, 9:53 PM

Re-numbering Phabricator tasks seems needlessly painful.

I kind of assumed that bug 1 would map to whichever task number was next available at time of import and that every subsequent imported Bugzilla bug would get the next available task number sequentially (e.g., bug 1 --> task 982, bug 10 --> task 991, etc.). A sequential import allows for a much easier translation between the two systems (in this example scenario, you'd simply add or subtract 981).

But even a non-sequential import is probably fine as long as the user is properly redirected. The issue here is that we cannot break links. Whether bug 1 maps to task 1 or task 982 doesn't really matter to me, personally.

PleaseStand added a subscriber: PleaseStand.EditedOct 26 2014, 1:45 PM

From my point of view, the main concern is the potential for confusion between bug numbers and task numbers. Without further qualification, 982 could refer to either of two different issues -- using @MZMcBride's example, T1963 (formerly bug 982) or T982 (formerly bug 1).

scfc added a comment.Oct 26 2014, 2:13 PM

I think Phabricator strongly encourages not to use numbers without prefixes as they may relate to different applications, so 982 will always refer to Bugzilla bug #982 and to refer to T982: Project creation request : Beta Features one would always write T982.

As long as the existing links continue to work for the foreseeable future, using different numbers is fine with me. We had a similar situation with the migration from Subversion to Git.

... You go to the Bugzilla URL for Bugzilla ticket 12345 and you end up at the corresponding Phab ticket (whatever number it'll have). That's not "breaking" to me.

Because a link to foo now goes to bar. Same content, different system, unexpected user outcome. The redirect is a hack to rescue people that have gone to the wrong place; it's not the main form through which people should come to Phabricator.

Agreed, users will come to Phabricator through new T numbers. The transition will happen quickly if old-timers let it! If users are used to BZ they'll visit the old bugzilla.wikimedia.org URLs which will still work as a redirect. Perhaps your concern is if users see a mention of "bug 12345" and come to Phab with it and the wrong thing or nothing happens. The fix for that might be to make the Phabricator search handle 12345 specially, appending OR Ext_ref = bz12345 to the search.

Qgil updated the task description. (Show Details)Oct 30 2014, 1:43 PM
Qgil closed this task as Declined.Oct 30 2014, 1:48 PM
Qgil claimed this task.

After long deliberation and a team discussion, we are reiterating our decision of declining this request. The details have been added to the descriptions. It's just a too complex task. Sorry for the annoyance that this will cause to some after the Bugzilla migration. Hopefully the new numbers will soon find room in your memory. Otherwise, the automatic redirects and the reference numbers are there to stay.

Nemo_bis reopened this task as Open.Nov 5 2014, 11:59 AM

This can't be rejected without a discussion on wikitech-l. The decline rationale puts an undue weight on "people with good memory", which are not the main concern of the request. I fail to see:

  • an estimate of how many person-hours of work would be wasted by "people with good memory" to unlearn and re-learn issue numbers;
  • an estimate of the cost implied by the risks that links and references to bugs break, because we're not able to redirect everything or rewrite all documents produced or printed in the last 10 years worldwide;
  • an estimate of the cost of keeping bugzilla database up for the next century to provide redirects when a simple apache rule would suffice if we kept the same numbers;
  • an estimate of the cost for this "very difficult task", to be compared to the sum of all of the above.

In general, I'm not seeing any cost weighing in the rationale(s) around here. "It's too hard" is not a reason, or we would have stayed with bugzilla indefinitely. Let's remember that MediaWiki is a product in which WMF has invested tens of millions dollars of donations, and volunteers have invested an equal or higher value of efforts. Bugzilla is our most precious tool to preserve and grow the value of these investments (with carefully curated ideas, issues, projects etc.).

The migration *will* cost a lot. It can cost us millions of dollars and future maintenance in product value if done badly; or it can cost 1-2 orders of magnitude less if done properly (which, yes, may require hiring more people or getting more human resources on the task).

Nemo_bis updated the task description. (Show Details)Nov 5 2014, 12:05 PM
Nemo_bis updated the task description. (Show Details)Nov 5 2014, 12:12 PM
Elitre added a subscriber: Elitre.Nov 5 2014, 12:29 PM
Qgil added a comment.EditedNov 5 2014, 12:29 PM

T40: Set up redirects from old bugzilla.wikimedia.org URLs is indeed a blocker, and it needs to be proven to work before touching Bugzilla. When redirects work, legacy links work as well.

Note that these redirects don't rely on Bugzilla, and they will last for as long as needed with a maintenance cost of basically zero.

I don't think anybody has to dedicate time to unlearn and re-learn anything, just like I don't think anybody had to invest any time to learn those numbers consciously in the first place. Just use the old URLs as long as you need. I agree it be will inconvenient at the beginning, but (again, if the redirects are reliable) I don't see why this should be a relevant problem after a few weeks.

PS: I explained the problem and our resolution also in wikitech-l.

Seems to be there are 2 asks here:

  1. Sequential ordering of tasks created from bugs (makes it trivial to translate from old numbers to new numbers)
  2. Identical numbering of tasks created from bugs (makes it unnecessary to translate the number at all)

The response so far has been that translation is doable, but sequential numbering will make parallelization impossible or impractical thus making the transition slower, estimated to be around 1-2 days.

I feel like it's being underestimated how valuable it is to retain the numbers - it's not just inbound links, it's also in the content of MediaWiki:CodeReview, Gerrit commit messages and discussions, change logs, engineering reports and of course within the content of the bugs themselves. Sure, it could redirect, but the user reads "Bug 12345" and then is (hopefully) provided a link that redirects to task/54321, which is a total disconnect.

So if I see a code comment "// Fixes bug 1234" I have to search in two places?

I think the idea is people would use T857 or 'Task: 857' in the future, not 'Bug: 857'. The latter would thus always refer to Bugzilla numbers.

demon added a comment.Nov 5 2014, 9:26 PM

Seems to be there are 2 asks here:

  1. Sequential ordering of tasks created from bugs (makes it trivial to translate from old numbers to new numbers)
  2. Identical numbering of tasks created from bugs (makes it unnecessary to translate the number at all)

    The response so far has been that translation is doable, but sequential numbering will make parallelization impossible or impractical thus making the transition slower, estimated to be around 1-2 days.

Indeed. And I for one thing an extra day or two of migration is well worth it for the sanity it'll provide.

As much as I would've preferred (2), that ship sadly sailed when we opened up Phabricator prior to the BZ migration being ready.

I feel like it's being underestimated how valuable it is to retain the numbers - it's not just inbound links, it's also in the content of MediaWiki:CodeReview, Gerrit commit messages and discussions, change logs, engineering reports and of course within the content of the bugs themselves. Sure, it could redirect, but the user reads "Bug 12345" and then is (hopefully) provided a link that redirects to task/54321, which is a total disconnect.

This. This. This.

It's not about the links--yes, redirects keep you going to the right place. It's about the complete mental disconnect between the numbers in the old and new system. Relying on an opaque mapping between old and new means that we're all relying on that redirect for eternity because you won't be able to just know what task a bug refers to.

Qgil added a comment.Nov 5 2014, 9:35 PM

There are two basic cases of references to bug numbers in web pages:

  • Bug numbers with links to the Bugzilla page. Automatically redirected. Users click and land in the place they were looking for.
  • Bug numbers without any link, just a number. If the user doesn't recognize that bug number then, no matter what, the user will need to copy the number and paste it (or type it manually) somewhere. Ideally, that somewhere would be the Phabricator search box in the header, resembling the Bugzilla search box (T991).

I think the idea is people would use T857 or 'Task: 857' in the future, not 'Bug: 857'. The latter would thus always refer to Bugzilla numbers.

Already now in Gerrit, "Bug: 123" points to Bugzilla while "Bug: T123" points to Phabricator.

demon added a comment.Nov 5 2014, 9:42 PM
In T857#19236, @Qgil wrote:

There are two basic cases of references to bug numbers in web pages:

  • Bug numbers with links to the Bugzilla page. Automatically redirected. Users click and land in the place they were looking for.
  • Bug numbers without any link, just a number. If the user doesn't recognize that bug number then, no matter what, the user will need to copy the number and paste it (or type it manually) somewhere. Ideally, that somewhere would be the Phabricator search box in the header, resembling the Bugzilla search box (T991).

The latter case makes no sense to me. In that scenario: how would I get from Bug 1 to Task 495? Other than copy+pasting into Bugzilla.wm.o and letting it redirect me.

There's also the tons and tons of bug mentions that aren't in web pages. Like commit logs, e-mails, etc etc etc. Requiring people to copy+paste bug numbers and wait for it to round-trip and redirect you just to figure out where the discussion is does not strike me as acceptable.

I think the idea is people would use T857 or 'Task: 857' in the future, not 'Bug: 857'. The latter would thus always refer to Bugzilla numbers.

Already now in Gerrit, "Bug: 123" points to Bugzilla while "Bug: T123" points to Phabricator.

Which makes no sense tbh to me. "Bug: Task 123" doesn't parse well when reading.

scfc added a comment.Nov 5 2014, 9:44 PM

@valhallasw: The syntax is "Bug: T857" so there is no ambiguity.

I would love to see some data on how many bug numbers the average developer remembers, and how many developers easily master the MediaWiki system with more than a million lines of code in core alone, sometimes very scarcely documented, but get totally derailed when Bugzilla's bug #12345 becomes Phabricator's T54321. I find it very hard to believe that someone looks at a dump like https://bugzillapreview.wmflabs.org/T2, accepts all those "bzimport" bits and only finds the number unappealing.

Krenair added a subscriber: Krenair.Nov 5 2014, 9:59 PM
Qgil added a comment.EditedNov 5 2014, 10:49 PM

Sure, it could redirect, but the user reads "Bug 12345" and then is (hopefully) provided a link that redirects to task/54321, which is a total disconnect.

I think it is fair to say that for most users in most cases, the connection is not with the bug number but with the problem they care about. As long as they find the report, they won't be bothered about its number.

The numbers are relevant for a core group of heavy contributors. While the new numbers will indeed disturb their routines, I am convinced that after a few weeks the new routines with the new numbers will have taken over, and only from time to time they will be annoyed by some bug number that won't be linked and they won't recognize.

What is the alternative, anyway?

Let's look strictly to the import of Bugzilla data. Currently the script imports batches of 15-20 bugs at a time, and based on the previews and other tests, we estimate that it will require about 13 hours to import the >70,000 tickets (which is just one part of the migration, we are booking 3-4 days for a reason). This means that in order to import bugs one by one, we would need about 8 days + completing the rest of tasks. Chances are high that errors will happen during those days, adding more time and more risk of breaking the identical numbers.

In addition to that, if we really want to keep identical numbers we would need to do something with the current >1000 tasks in Phabricator. Removing and place them at the end? Easier said than done, more uncharted territory that would imply more hours of migration and more chances of something going wrong.

Being conservative, we can say that promising to keep identical numbers would imply an extra week of migration, if we are lucky, and it would be quite a wild promise because the chances of not being ultimately able to deliver those identical numbers within a manageable time frame would be quite high. Finally, how to explain more than one week without bug reporting tool to the majority of users that don't recall and don't care about bug numbers?

Honestly, I don't think we want to go that route. This is why the Wikimedia Phabricator team prefers to be frank, go ahead with an already pretty complex migration, and focus instead on infallible redirects easy to use and cheap to maintain for as long as Phabricator exists.

Dzahn added a subscriber: Dzahn.Nov 5 2014, 10:53 PM

fwiw, this also affects links in SAL (server admin log) on wikitech. perhaps a bot could fix the links ?

TrevorParscal added a comment.EditedNov 5 2014, 11:07 PM

Given the reaction that engineers are having to this change, I know that this is not what people signed up for.

Maybe nobody promised the numbers would stay the same, but this side-effect appears to not have been sufficiently advertised.

Dismissing this as only something that helps people who have memorized bug numbers, or only the 0.01% of developers who are advanced enough to notice is not helpful. You've been given concrete examples of locations where these numbers are in use, in many cases without hyperlinks.

This is going to make a mess of a system that has worked just fine for a decade. You are defending this short-cut by suggesting that it's too costly to do it properly. I suggest you are simply transferring the cost away from the migration, and distributing it to developers of tracked projects and users of the new system for years to come.

Qgil added a comment.Nov 5 2014, 11:29 PM

About the use case of the bug number without a link, let me expand on what I tried to say above.

In T857#19236, @Qgil wrote:
  • Bug numbers without any link, just a number. If the user doesn't recognize that bug number then, no matter what, the user will need to copy the number and paste it (or type it manually) somewhere. Ideally, that somewhere would be the Phabricator search box in the header, resembling the Bugzilla search box (T991).

Let's compare scenarios. A user finds a bug number without a link, and then...

  • Bugzilla: goes to Bugzilla and places the number in the search bar.
  • Phabricator with identical numbers: goes to Phabricator and places the number in the search bar.
  • Phabricator without identical numbers, today: goes to Maniphest advanced search and introduces reference.
  • Phabricator without identical numbers, if T991 can be implemented: goes to Phabricator and places the number in the search bar.

Considering the cost and risk of keeping identical numbers (explained above), I would rather invest the resources in T991, which looks like a feasible, reliable, and satisfactory solution.

demon added a comment.Nov 6 2014, 12:07 AM
In T857#19304, @Qgil wrote:

About the use case of the bug number without a link, let me expand on what I tried to say above.

In T857#19236, @Qgil wrote:
  • Bug numbers without any link, just a number. If the user doesn't recognize that bug number then, no matter what, the user will need to copy the number and paste it (or type it manually) somewhere. Ideally, that somewhere would be the Phabricator search box in the header, resembling the Bugzilla search box (T991).

Let's compare scenarios. A user finds a bug number without a link, and then...

  • Bugzilla: goes to Bugzilla and places the number in the search bar.
  • Phabricator with identical numbers: goes to Phabricator and places the number in the search bar.
  • Phabricator without identical numbers, today: goes to Maniphest advanced search and introduces reference.
  • Phabricator without identical numbers, if T991 can be implemented: goes to Phabricator and places the number in the search bar.
  • Command line, or any other place that isn't a browser already on Phabricator or Bugzilla - Copy/paste, open your browser to BZ or Phabricator, search for old bug, eventually get to new task.

Considering the cost and risk of keeping identical numbers (explained above), I would rather invest the resources in T991, which looks like a feasible, reliable, and satisfactory solution.

Which is why I said the ship for identical bug numbers has already sailed. Can we please discuss having sequential numbers at the very least?

None of this precludes T991: Searchable "Reference" custom field, which is a good idea in its own right.

Qgil added a comment.Nov 6 2014, 9:25 AM
In T857#19315, @Chad wrote:

Can we please discuss having sequential numbers at the very least?

The theoretical options would be (@chasemp, feel free to add/correct):

  • Bug 1 == T100001, Bug 7200 == T107200. We should find out what happens to the 98k task numbers between the current most recent Phabricator task and T100000. We could still expect some users annoyed because keeping the T1+5digit format requires a moment of concentration and is prone to error (they only need to type a zero more or less).
  • Bug 1 == B1, Bug 72000 == B72000. We should find out what it takes to create a new range in Phabricator and to integrate it with the search in order to get the same behavior users get now when searching for T****. This approach is easier to type, but then again it gets pretty close to the cheaper and cleaner T991, where users could type "B72000" or simply "72000" and find their task.

Users would still need to know the trick, although if the target is indeed a smaller group of dedicated users this might be less of a problem.

We would still need to deal with the hypothetical 8 extra days of migration, and I don't see any way forward here other than making a test with a sample of some 1000s of recent bugs to check how much time it takes and the chances of getting errors.

Are there other solutions? The costs and benefits of the two approaches above are not very appealing.

In T857#19394, @Qgil wrote:
  • Bug 1 == T100001, Bug 7200 == T107200. We should find out what happens to the 98k task numbers between the current most recent Phabricator task and T100000. We could still expect some users annoyed because keeping the T1+5digit format requires a moment of concentration and is prone to error (they only need to type a zero more or less).
  • Bug 1 == B1, Bug 72000 == B72000. We should find out what it takes to create a new range in Phabricator and to integrate it with the search in order to get the same behavior users get now when searching for T****. This approach is easier to type, but then again it gets pretty close to the cheaper and cleaner T991, where users could type "B72000" or simply "72000" and find their task.

Option (2) is not a good option -- then we have T123 and B123 next to eachother, which is even worse in terms of confusion.

As for option (1) -- I think this should be technically possible without Bugzilla downtime (but with a longer phabricator downtime!)

Depending on the code (we discussed this shortly on IRC but I feel we did not really come to a conclusion), it might be possible to do a 'mirroring' kind of set-up: A script which mirrors {state at time=0} into phab, then applies all comments/changes between time=0 and time=1, and repeats that.

If this is possible without throwing too much existing engineering out of the window, this gives us some advantages:

  1. Bug numbers can be sequential, as there's no issue with the migration taking several days -- each update will take less and less time.
  2. The final downtime can be much shorter: close off bugzilla, apply the last changes, open phabricator

And, if this is first done into a testing phabricator instance:

  1. All bugs are converted instead of just the test bunch in the current preview instance. This means we can fix more problems that still exist in the conversion.

However, there are downsides:

  1. Needs more engineering effort
  2. Needs to lock off phabricator for a much longer period of time

I think downside (2) is worth it, but I'm hesitant to make an estimate for how much engineering effort is required to do this -- this could easily be more than it's worth to save a few days in migration.

Clearly it's hard to quantify how much time would be wasted over bug number confusion, but the fact that it could be non zero and the fact it would be forever means we should take this one opportunity to get it right. Compared to that, phab downtime and promised release schedules are insignificant and will quickly be forgotten.

Qgil added a comment.Nov 6 2014, 11:07 AM

phab downtime and promised release schedules are insignificant

What about Bugzilla in read-only mode during a week or more?

Just for reference, about 419 Bugzilla reports were created in the past seven days, and comments were posted in about 923 bugs. If we are evaluating confusion, we should take this unprecedented break into account as well.

@valhallasw's idea is interesting in theory, but I wonder how much dedication a reliable implementation would require.

You know well that resources are not unlimited, neither free. Other users are waiting for other features, and other teams and projects are waiting for us. This is a project management situation familiar to most of you.

Qgil updated the task description. (Show Details)Nov 6 2014, 11:30 AM
mark added a subscriber: mark.Nov 6 2014, 4:40 PM
Nemo_bis updated the task description. (Show Details)Nov 14 2014, 12:34 PM

I've integrated a quotation from Trevor in the task description.

Nemo_bis added a comment.EditedNov 14 2014, 12:49 PM

Note that these redirects don't rely on Bugzilla, and they will last for as long as needed with a maintenance cost of basically zero.

Thanks.

https://phabricator.wikimedia.org/T40#22103 said:

It's going to be reading from a cross reference table in the phabricator-maniphest database, using the user account that @chasemp already procured for this purpose.

Doesn't really sound like "basically zero" but might be negligible.

So I really still don't understand what the cost of fixing this bug amounts to. Is it essentially the cost of longer downtime? Can this be (dis)confirmed then:

As for option (1) -- I think this should be technically possible without Bugzilla downtime (but with a longer phabricator downtime!)

Also:

Which is why I said the ship for identical bug numbers has already sailed.

I don't understand why. The current tasks in the phabricator.wikimedia.org can just be thrown away and get new numbers sequentially (or even randomly) from whatever other integer. They've already been renumbered when importing the tasks from the wmflabs.org instance, so it seems cleary nobody cares.

TTO added a subscriber: TTO.Nov 20 2014, 1:34 AM

Quim's email to wikitech-l said:

"We cannot assign to Phabricator tasks the same number as their Bugzilla
equivalents. Instead, automatic redirects will link old Bugzilla URLs with
their corresponding new Phabricator tasks. phabricator.wikimedia.org has
already >1300 tasks with numbers taken. The migration needs to be done by
batches of bugs instead of sequentially, which makes the mapping of numbers
more complicated. Still, smaller numbers will correspond to older bugs, and
we will do our best during the weekend to improve the sorting."

Seems like it isn't going to happen, then.

Qgil added a comment.Nov 20 2014, 9:42 AM

This task is open because we are still pursuing the goal of having sequential numbers for Bugzilla migrated tasks.

Keeping identical numbers would imply a bigger hack, moving the current >1300 Phabricator tasks somewhere else, breaking all the existing internal and external links. As opposed to fab.wmflabs.org, phabricator.wikimedia.org is a production instance, and we are committed to the integrity of its data.

Qgil closed this task as Declined.Nov 23 2014, 10:08 PM

We (meaning @chasemp) have succeeded implementing a memorable method to identify Phabricator tasks based on Bugzilla numbers: just add 2000.

This looks like a simple solution now, but Chase can tell that it wasn't simple to deduce, to implement, or to guarantee that it would work.

I'm resolving this task as Declined, since the numbers are not identical as requested, but I hope this solution works as best compromise possible. Thank you everybody for your feedback.

Big kudos for implementing the N+2000 renumbering!

I still hope that at some point the Turquoise Fairy will make that a +0 with some more magic deck shuffling down the road.

demon added a comment.Nov 24 2014, 4:09 PM

Big kudos for implementing the N+2000 renumbering!

I still hope that at some point the Turquoise Fairy will make that a +0 with some more magic deck shuffling down the road.

2000+ is good enough for me. No need to do anything else :)

hashar added a subscriber: hashar.Nov 25 2014, 11:05 PM

+2000 is not ideal but at least it is easy to remember and the bug -> task is not a complete random renumbering. Thank you @chasemp and @Qgil !

In T857#780635, @Chad wrote:

2000+ is good enough for me. No need to do anything else :)

I showed this to a friend of mine within the past week. It's definitely a neat trick. :-)

Ricordisamoa awarded a token.