Page MenuHomePhabricator

Run Flow migration script at *Phase 2b* wikis
Closed, ResolvedPublic

Description

In T378829, we moved Flow pages at Phase 2a wikis to sub-pages.

This task involves the work of doing the same at the next set of wikis, Phase 2b wikis.

Run time

See "Phase 2b Wikis" section below for script start times.

Phase 2b Wikis

WikiTimingStatusNotesDry run 1Dry run 2Dry run 3Dry run 4Log
cawikiquoteMarch 19P74254P74387P74431P74455P74463
fiwikimediaMarch 19P74255P74388N/AN/AP74399
gomwikiApril 23, 2025Script will run via T389247
kabwikiMarch 19P74256P74394P74430P74453P74461
sewikimediaMarch 19P74257P74395P74433P74454P74460
officewikiMarch 19"Archive talk" namespace left as-isP74253P74396P74432N/AP74444

Related Objects

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Trizek-WMF set Due Date to Mar 19 2025, 5:00 PM.

Communities listed in the task description have been informed that starting on March 19, Flow boards will be moved ans set to read only.

ptwikibooks was removed as it has both Flow and LQT. Now in a specific task: T388099.

Gomwiki (Konkani) has two additional requests for the migration:

  1. Archive-destination pagename: They want "/Archive [number]" instead of "/Flow"
  2. Deletion instead: 668 of the 833 Flow boards on gomwiki are completely empty - can we please delete those instead? - See listing in P71749

Gomwiki (Konkani) has two additional requests for the migration:

  1. Archive-destination pagename: They want "/Archive [number]" instead of "/Flow"
  2. Deletion instead: 668 of the 833 Flow boards on gomwiki are completely empty - can we please delete those instead? - See listing in P71749

Thank you for surfacing this, @Quiddity.

The Editing Team will investigate the feasibility of implementing these adjustments in T389113.

"Script wouldn't move anything" is wrong. The script is getting a permission error for inexplicable reasons.

Also the script is skipping user-talk pages of users with redlinked userpages, which is wrong. The script should move non-subpages regardless of whether the parent page exists.

(This wasn't a problem for Phase 2A because it was done in two separate runs)

That error usually means some sort of DB inconsistency between the Flow and Core DBs- maybe running FlowFixInconsistentBoards will fix it. Or maybe it will give more clarity on what the error is.

Change #1129795 had a related patch set uploaded (by Zoe; author: Zoe):

[operations/mediawiki-config@master] Re-enable creation of Flow pages for sysops

https://gerrit.wikimedia.org/r/1129795

Change #1130193 had a related patch set uploaded (by Pppery; author: Pppery):

[mediawiki/extensions/Flow@master] Archive user talk pages even if the userpage doesn't exist

https://gerrit.wikimedia.org/r/1130193

Change #1130197 had a related patch set uploaded (by Pppery; author: Pppery):

[mediawiki/extensions/Flow@master] Don't clobber error information for failed Flow creates

https://gerrit.wikimedia.org/r/1130197

Change #1130569 had a related patch set uploaded (by Zoe; author: Zoe):

[mediawiki/extensions/Flow@master] Use builtin getTalkpageManager to move Flow boards

https://gerrit.wikimedia.org/r/1130569

Change #1129795 abandoned by Zoe:

[operations/mediawiki-config@master] Re-enable creation of Flow pages for sysops

Reason:

We no longer think this is the cause of the issue

https://gerrit.wikimedia.org/r/1129795

I've had a go at reproing locally. I found that even with no permissions in my configuration at all, the script could still proceed. I think the issue may lie elsewhere – I did notice that this is the only script in the directory which directly requests the maintenance user, so I've written a patch to implement it the same way. I don't know if this will solve things but I think it's worth a try.

Change #1130197 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] Don't clobber error information for failed Flow creates

https://gerrit.wikimedia.org/r/1130197

Change #1130658 had a related patch set uploaded (by Zoe; author: Pppery):

[mediawiki/extensions/Flow@wmf/1.44.0-wmf.21] Don't clobber error information for failed Flow creates

https://gerrit.wikimedia.org/r/1130658

Change #1130658 merged by jenkins-bot:

[mediawiki/extensions/Flow@wmf/1.44.0-wmf.21] Don't clobber error information for failed Flow creates

https://gerrit.wikimedia.org/r/1130658

Mentioned in SAL (#wikimedia-operations) [2025-03-24T20:55:33Z] <brennen@deploy1003> Started scap sync-world: Backport for [[gerrit:1130658|Don't clobber error information for failed Flow creates (T380911)]]

Mentioned in SAL (#wikimedia-operations) [2025-03-24T20:59:32Z] <brennen@deploy1003> zoe, brennen: Backport for [[gerrit:1130658|Don't clobber error information for failed Flow creates (T380911)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2025-03-24T21:12:38Z] <brennen@deploy1003> Finished scap sync-world: Backport for [[gerrit:1130658|Don't clobber error information for failed Flow creates (T380911)]] (duration: 17m 04s)

Change #1130193 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] Archive user talk pages even if the userpage doesn't exist

https://gerrit.wikimedia.org/r/1130193

I'm surprised this worked.

The two changes that have happened since last time:

  • @Pppery's change to the authorization code, which we do not believe would change the permissions
  • This time I'm not running the script 20 minutes after a switch between data centres

I think it's the latter.

Change #1130989 had a related patch set uploaded (by Zoe; author: Pppery):

[mediawiki/extensions/Flow@wmf/1.44.0-wmf.22] Archive user talk pages even if the userpage doesn't exist

https://gerrit.wikimedia.org/r/1130989

Change #1130569 merged by jenkins-bot:

[mediawiki/extensions/Flow@master] Use builtin getTalkpageManager to move Flow boards

https://gerrit.wikimedia.org/r/1130569

Change #1130989 merged by jenkins-bot:

[mediawiki/extensions/Flow@wmf/1.44.0-wmf.22] Archive user talk pages even if the userpage doesn't exist

https://gerrit.wikimedia.org/r/1130989

Mentioned in SAL (#wikimedia-operations) [2025-03-26T08:16:26Z] <zoe@deploy1003> Started scap sync-world: Backport for [[gerrit:1130989|Archive user talk pages even if the userpage doesn't exist (T380911)]]

Mentioned in SAL (#wikimedia-operations) [2025-03-26T08:23:17Z] <zoe@deploy1003> zoe: Backport for [[gerrit:1130989|Archive user talk pages even if the userpage doesn't exist (T380911)]] synced to the testservers (https://wikitech.wikimedia.org/wiki/Mwdebug)

Mentioned in SAL (#wikimedia-operations) [2025-03-26T08:30:36Z] <zoe@deploy1003> Finished scap sync-world: Backport for [[gerrit:1130989|Archive user talk pages even if the userpage doesn't exist (T380911)]] (duration: 14m 10s)

Comparing the paste output of dry runs 2 and 3 for cawikiquote:

diff <(curl -s https://phab.wmfusercontent.org/file/data/kcny2e2czhfjh3qro2c3/PHID-FILE-ocit5monuyrssuki6pvn/Masterwork_From_Distant_Lands) <(curl -s https://phab.wmfusercontent.org/file/data/mkjrzk6ok4zmlpeof2k2/PHID-FILE-mxlhgus6ncncfb3x6cu6/Masterwork_From_Distant_Lands)
# (no output)

I'm surprised by this, so I'll have to investigate further.

A quick search for "no associated subject page" appears to reveal that cawikiquote, kabwiki and sewikimedia skipped some user pages. officewiki worked, so I can run that.

I think I may have misunderstood the backporting process. Quickly checking cawikiquote and officewiki, it seems like cawikiquote is still on .21 whereas officewiki is on .22. I guess either I need to backport to .21 or wait for those wikis to hit .22. I'll go ask.

I thought I'd at least run the officewiki job, but no joy. I think I bumped into this previously and then did not follow up on it properly.

Flow\Exception\FlowException from line 78 of /srv/mediawiki/php-1.44.0-wmf.22/extensions/Flow/includes/BoardMover.php: Could not locate workflow for page ID 12195
#0 /srv/mediawiki/php-1.44.0-wmf.22/extensions/Flow/includes/Hooks.php(1688): Flow\BoardMover->move(12195, Object(MediaWiki\Title\Title))
#1 /srv/mediawiki/php-1.44.0-wmf.22/includes/HookContainer/HookContainer.php(155): Flow\Hooks->onTitleMoveStarting(Object(MediaWiki\Title\Title), Object(MediaWiki\Title\Title), Object(MediaWiki\User\User))
#2 /srv/mediawiki/php-1.44.0-wmf.22/includes/HookContainer/HookRunner.php(4076): MediaWiki\HookContainer\HookContainer->run('TitleMoveStarti...', Array)
#3 /srv/mediawiki/php-1.44.0-wmf.22/includes/page/MovePage.php(641): MediaWiki\HookContainer\HookRunner->onTitleMoveStarting(Object(MediaWiki\Title\Title), Object(MediaWiki\Title\Title), Object(MediaWiki\User\User))
#4 /srv/mediawiki/php-1.44.0-wmf.22/includes/page/MovePage.php(461): MediaWiki\Page\MovePage->moveUnsafe(Object(MediaWiki\User\User), 'Flow archival', false, Array)
#5 /srv/mediawiki/php-1.44.0-wmf.22/extensions/Flow/maintenance/FlowMoveBoardsToSubpages.php(148): MediaWiki\Page\MovePage->move(Object(MediaWiki\User\User), 'Flow archival', false)
#6 /srv/mediawiki/php-1.44.0-wmf.22/maintenance/includes/MaintenanceRunner.php(695): Flow\Maintenance\FlowMoveBoardsToSubpages->execute()
#7 /srv/mediawiki/php-1.44.0-wmf.22/maintenance/run.php(51): MediaWiki\Maintenance\MaintenanceRunner->run()
#8 /srv/mediawiki/multiversion/MWScript.php(219): require_once('/srv/mediawiki/...')
#9 {main}

I tried pppery's suggestion from last time, and dry-ran the fixing script.

ERROR: 'Archive talk:POMPOMS' refers to workflow ID 'sgkoegybywkraxl3', which could not be found.

Checked a total of 300 Flow boards. Of those, 0 boards had an inconsistent title; 0 were identified as fixable.

Checked a total of 600 Flow boards. Of those, 0 boards had an inconsistent title; 0 were identified as fixable.

Checked a total of 900 Flow boards. Of those, 0 boards had an inconsistent title; 0 were identified as fixable.

Checked a total of 1200 Flow boards. Of those, 0 boards had an inconsistent title; 0 were identified as fixable.

Checked a total of 1500 Flow boards. Of those, 0 boards had an inconsistent title; 0 were identified as fixable.

Checked a total of 1638 Flow boards. Of those, 0 boards had an inconsistent title; 0 were identified as fixable.

https://office.wikimedia.org/wiki/Archive_talk:POMPOMS is somehow corrupt. due to a 2015-era Flow DB bug (workflows have a built-in timestamp, the workflow sgkoegybywkraxl3 has the timestamp 2015-05-02) . Ideally you would get an officewiki admin to delete it

(I can't say anything more than that as I'm not a WMF employee and don't have access to officewiki)

I've grabbed a list of all the namespaces with Flow pages and I'm currently doing them all one-by-one except for Archive talk. I am proposing to simply leave that alone, as it looks like these pages were archived, along with their subject pages, and do not need a second layer of archiving.

Yeah, that's a decent argument.

Change #1131627 had a related patch set uploaded (by Zoe; author: Pppery):

[mediawiki/extensions/Flow@wmf/1.44.0-wmf.21] Archive user talk pages even if the userpage doesn't exist

https://gerrit.wikimedia.org/r/1131627

Right, I think I'm (finally!) ready to run this For Reals™

Change #1131627 abandoned by Aklapper:

[mediawiki/extensions/Flow@wmf/1.44.0-wmf.21] Archive user talk pages even if the userpage doesn't exist

Reason:

Abandoning as we are everywhere on 1.44.0-wmf.22

https://gerrit.wikimedia.org/r/1131627

zoe updated the task description. (Show Details)
zoe removed zoe as the assignee of this task.Apr 16 2025, 10:06 AM
ppelberg updated the task description. (Show Details)

Having resolved T389247, we can now consider this ticket resolved as well.

ppelberg claimed this task.