Page MenuHomeMiraheze

Upgrade to MediaWiki 1.39.1
Closed, ResolvedPublic

Description

This is a a lot earlier for most upgrade tasks, seeing as we just finished the 1.38 upgrade, but the scope of 1.39 is massive, and we have already begun some preparation for the upcoming upgrade. This task can be updated with more information, as more of the preparation for the upgrade is done.

Pre-upgrade requirements

  • Revision table actor migration (T8982)
  • CentralAuth hidden user migration

Upgrade process

Upgrade START date/time: 21/01/2023 - 22:00 UTC

(approx) upgrade END date/time: 22/01/2023 - 01:00 UTC

Maintenance leader: @Universal_Omega
Maintenance backup: @Paladox

Availability of SRE during upgrade
@Agent_Isai will be available from 22:00 to 04:00
@Reception123 will be available from
@Universal_Omega will be available from 22:00 to 01:00
@Paladox will be available from 22:00 to 01:00
@MacFan4000 will be available from (will try to be around at least a little bit, but will have family visiting so can’t guarantee anything)

Steps

  1. [prior to 22:00] Ensure backups done (done)
  2. Switch to REL1_39 branch
  3. Change sitenotice
  4. Run SQL/scripts

Process
mwtask141 will be done a couple hours prior to the maintenance window. Then it will be proxied to on a few wikis ensuring it works. This allows for more definitive production testing beforehand. Read-only will not be set for this upgrade, but it will still be recommended to the community not to edit. Once the maintenance window begins, the deploy-tool will be used to deploy to all servers. By doing mwtask141, and not setting read-only, and by first testing mwtask141 the goal here is to have a future stable upgrade process where there is absolutely no downtime. Basically hot-upgrades. Also by doing mwtask141, the actual upgrade should finish hours before the end of the maintenance window, providing a minimum maintenance window, and hopefully not many issues when the actual upgrade begins if mwtask141 is first tested. Something could still go wrong but my hope here is to have virtually no downtime during MediaWiki upgrades.

SQL/scripts that will need run:

mwscript extensions/SemanticMediaWiki/setupStore.php extension --extension=semanticmediawiki
mwscript extensions/SemanticMediaWiki/setupStore.php extension --extension=semanticmediawiki
deploy-mediawiki --files=../mediawiki/w/extensions/SemanticMediaWiki/.smw.json --servers=all
mwscript sql.php all /srv/mediawiki/w/maintenance/archives/patch-user_autocreate_serial.sql
mwscript sql.php all /srv/mediawiki/w/maintenance/archives/patch-ipblocks_restrictions-ir_ipb_id.sql
mwscript sql.php all /srv/mediawiki/w/maintenance/archives/patch-ipblocks-ipb_id.sql
mwscript sql.php all /srv/mediawiki/w/maintenance/archives/patch-user-user_editcount.sql
mwscript updateRestrictions.php all
mwscript sql.php all /srv/mediawiki/w/maintenance/archives/patch-page-drop-page_restrictions.sql
mwscript migrateLinksTable.php all --force --table=templatelinks
mwscript sql.php all /srv/mediawiki/w/maintenance/archives/patch-templatelinks-tl_title-nullable.sql
mwscript sql.php all /srv/mediawiki/w/maintenance/archives/patch-templatelinks-drop-tl_title.sql
mwscript sql.php loginwiki --wikidb=mhglobal /srv/mediawiki/w/extensions/CentralAuth/schema/mysql/patch-drop-gu_enabled.sql
mwscript sql.php loginwiki --wikidb=mhglobal /srv/mediawiki/w/extensions/CentralAuth/schema/mysql/patch-drop-gu_hidden.sql
mwscript sql.php loginwiki --wikidb=mhglobal /srv/mediawiki/w/extensions/CentralAuth/schema/mysql/patch-add-lu_attachment_method.sql
mwscript sql.php loginwiki --wikidb=mhglobal /srv/mediawiki/w/extensions/CentralAuth/schema/mysql/db_patches/patch-global_user_autocreate_serial.sql
mwscript sql.php extension --extension=flaggedrevs /srv/mediawiki/w/extensions/FlaggedRevs/backend/schema/mysql/patch-drop-fpc_select.sql
mwscript sql.php extension --extension=flaggedrevs /srv/mediawiki/w/extensions/FlaggedRevs/backend/schema/mysql/patch-flaggedtemplates-ft_tmp_rev_id.sql
mwscript sql.php extension --extension=flaggedrevs /srv/mediawiki/w/extensions/FlaggedRevs/backend/schema/mysql/patch-flaggedpages-timestamp.sql
mwscript sql.php extension --extension=flaggedrevs /srv/mediawiki/w/extensions/FlaggedRevs/backend/schema/mysql/patch-flaggedpage_pending-timestamp.sql
mwscript sql.php extension --extension=flaggedrevs /srv/mediawiki/w/extensions/FlaggedRevs/backend/schema/mysql/patch-flaggedrevs-timestamps.sql
mwscript sql.php extension --extension=flaggedrevs /srv/mediawiki/w/extensions/FlaggedRevs/backend/schema/mysql/patch-flaggedrevs_statistics-timestamp.sql
mwscript sql.php extension --extension=flaggedrevs /srv/mediawiki/w/extensions/FlaggedRevs/backend/schema/mysql/patch-flaggedpage_config-timestamp.sql
mwscript sql.php extension --extension=discussiontools /srv/mediawiki/w/extensions/DiscussionTools/sql/mysql/discussiontools_persistent.sql
mwscript sql.php extension --extension=wikibaseclient /srv/mediawiki/w/extensions/Wikibase/repo/sql/mysql/archives/patch-wb_changes-change_timestamp.sql
mwscript sql.php extension --extension=wikibaserepository /srv/mediawiki/w/extensions/Wikibase/repo/sql/mysql/archives/patch-wb_changes-change_timestamp.sql
mwscript sql.php all /srv/mediawiki/w/extensions/OAuth/schema/mysql/patch-oauth_accepted_consumer-timestamp.sql
mwscript sql.php all /srv/mediawiki/w/extensions/OAuth/schema/mysql/patch-oauth_registered_consumer-timestamp.sql
mwscript sql.php all /srv/mediawiki/w/extensions/CheckUser/schema/mysql/patch-cu_changes-cuc_timestamp.sql
mwscript sql.php all /srv/mediawiki/w/extensions/CheckUser/schema/mysql/patch-cu_log-comment_table_for_reason.sql
mwscript sql.php all /srv/mediawiki/w/extensions/CheckUser/schema/mysql/patch-cu_log-actor.sql
mwscript sql.php all /srv/mediawiki/w/extensions/AntiSpoof/sql/mysql/patch-spoofuser-index-su_normname_idx.sql
sudo -u www-data /usr/local/bin/foreachwikiindblist /home/universalomega/wikibaseclient.json /srv/mediawiki/w/extensions/Wikibase/client/maintenance/PopulateUnexpectedUnconnectedPagePageProp.php
mwscript extensions/CheckUser/populateCulActor.php all
mwscript extensions/CheckUser/populateCucActor.php all
DROP TABLE revision_actor_temp;

SQL files for the following extensions have been moved and will need updated in config:

  • AbuseFilter
  • AntiSpoof
  • CheckUser
  • Echo
  • FlaggedRevs
  • GrowthExperiments
  • OAuth

https://github.com/miraheze/mw-config/pull/5075

Other migrations

  • templatelinks migration
  • CheckUser actor migration
  • CheckUser log actor migration
  • Wikibase UnconnectedPagePageProp migration

Revisions and Commits

R9 MediaWiki configuration
rPUPC Puppet Configuration

Related Objects

StatusAssignedTask
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedRhinosF1
DeclinedUnknown Object (User)
ResolvedRhinosF1
ResolvedRhinosF1
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
DeclinedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedUnknown Object (User)
ResolvedTechnoMage

Event Timeline

There are a very large number of changes, so older changes are hidden. Show Older Changes
Unknown Object (User) unsubscribed.
Unknown Object (User) subscribed.
Unknown Object (User) added a comment.Sep 6 2022, 05:04

REL1_39 has been branched upstream as a beta release now. We should be able to start testing soon.

Unknown Object (User) updated the task description. (Show Details)Sep 11 2022, 19:13
Unknown Object (User) updated the task description. (Show Details)Sep 11 2022, 19:32
Unknown Object (User) updated the task description. (Show Details)Sep 11 2022, 19:42
Unknown Object (User) updated the task description. (Show Details)Sep 11 2022, 20:08
Unknown Object (User) updated the task description. (Show Details)Sep 11 2022, 20:26
Unknown Object (User) updated the task description. (Show Details)Sep 12 2022, 19:20
Unknown Object (User) moved this task from Backlog to Features on the MediaWiki board.
Unknown Object (User) moved this task from Backlog to Short Term on the Technology-Team (MediaWiki) board.
Unknown Object (User) updated the task description. (Show Details)Sep 13 2022, 18:52
Unknown Object (User) updated the task description. (Show Details)Sep 14 2022, 23:43
Unknown Object (User) updated the task description. (Show Details)
Unknown Object (User) updated the task description. (Show Details)Oct 24 2022, 17:23
Unknown Object (User) updated the task description. (Show Details)Oct 25 2022, 18:13
MacFan4000 raised the priority of this task from Low to High.Dec 1 2022, 14:59
MacFan4000 subscribed.

With 1.39 now released, this now has a bit higher priority.,

After considering the recent db141 incident and efforts to recreate wikis as well as the maintenance on the 18th and the holiday period, it has been decided that the first or second week of January 2023 will be better for the upgrade. Doing it right now would risk having a lot of bug reports (as they inevitably happen after upgrades) and us not being able to respond in time.

Unknown Object (User) renamed this task from Upgrade to MediaWiki 1.39.0 to Upgrade to MediaWiki 1.39.1.Dec 22 2022, 22:39

MediaWiki 1.39, in my opinion, should be done when this request is finished, and yes, there will be a lot of mistakes, so I support it in order not to waste time.

We hope to try the upgrade on the 20th/21st.

Unknown Object (User) updated the task description. (Show Details)Jan 15 2023, 02:19
Unknown Object (User) added a subscriber: Paladox.
Unknown Object (User) claimed this task.EditedJan 15 2023, 02:20

I will be handling the upgrade on 21 January, starting at 22:00 UTC.

This has been agreed upon between myself, @Reception123 (EM), @Agent_Isai (CES), and @Paladox (who will be around as backup if necessary during the upgrade)

Wiki backups will be done beforehand. @Reception123 mentioned they will try and get them done on Monday, but if not I will try and do them myself a little later as well.

Unknown Object (User) updated the task description. (Show Details)Jan 15 2023, 06:38
Unknown Object (User) added a project: Notice.Jan 16 2023, 05:19
Unknown Object (User) moved this task from Notification Pending to Notified on the Notice board.
Unknown Object (User) updated the task description. (Show Details)Jan 17 2023, 00:47
Unknown Object (User) updated the task description. (Show Details)Jan 17 2023, 01:00

To provide an update on backups, public wikibackups are currently underway. Private backups will be done after but take little time. I can say almost certainly that all this will be done by the 21st, given that there's still 3 days left.

Unknown Object (User) added a comment.Jan 20 2023, 22:39

Backups are done.

Unknown Object (User) updated the task description. (Show Details)Jan 21 2023, 16:44
Unknown Object (User) updated the task description. (Show Details)Jan 21 2023, 17:41
Unknown Object (User) moved this task from Unsorted to Goals on the Universal Omega board.Jan 21 2023, 21:53
Naleksuh subscribed.

Reopening per Universal_Omega

Unknown Object (User) updated the task description. (Show Details)Jan 22 2023, 07:04
Unknown Object (User) updated the task description. (Show Details)Jan 22 2023, 17:05
Unknown Object (User) updated the task description. (Show Details)
Unknown Object (User) added a commit: R9:8d9a3d834857: Set CheckUser migration variables (#5083).
Unknown Object (User) updated the task description. (Show Details)Jan 22 2023, 18:45
Unknown Object (User) updated the task description. (Show Details)Jan 22 2023, 21:23
Unknown Object (User) updated the task description. (Show Details)Jan 23 2023, 00:26
Unknown Object (User) closed this task as Resolved.Jan 23 2023, 05:05
Unknown Object (User) updated the task description. (Show Details)

Everything is now done for this.