Page MenuHomePhabricator

CommRel support for ICU 72 upgrade
Closed, DeclinedPublic

Description

Hi, we are planning to upgrade the ICU library on MediaWiki app servers from version 67 to version 72. This is a prerequisite to upgrading the OS and other software on those machines, and allows developers to use new internationalization features including support for Unicode 15.

There will be one user-visible effect: Category lists will be displayed out of order during the transition. This time around, we are trying a new process that minimizes this disruption (created in T263437) on smaller wikis, but as it has not been done before, we will not use it for the largest wikis yet. Therefore:

  • New process: the expected disruption is under 30 minutes.
  • Old process: the expected disruption will be up to several days, and about a week for enwiki.

Also note that if something goes very wrong with the new process, we will revert to the old process (and thus to the longer disruption).

List of affected wikis

New process:

  • mediawikiwiki
  • arwiktionary
  • azwiki
  • azwikibooks
  • azwikiquote
  • azwikisource
  • azwiktionary
  • be_x_oldwiki
  • bewiki
  • bewikisource
  • bswiki
  • bswiktionary
  • bswikiquote
  • cswiktionary
  • cywiki
  • cywikibooks
  • cywikiquote
  • cywikisource
  • cywiktionary
  • dewikisource
  • eswikiversity
  • etwiki
  • etwikibooks
  • etwikimedia
  • etwikiquote
  • etwikisource
  • etwiktionary
  • fawikisource
  • fawiktionary
  • fawikibooks
  • fawikinews
  • fawikiquote
  • fiwikibooks
  • fiwikimedia
  • fiwikinews
  • fiwikiquote
  • fiwikisource
  • fiwikiversity
  • fiwikivoyage
  • frwikibooks
  • frwikinews
  • frwikiversity
  • gawiki
  • gdwiki
  • gewikimedia
  • glwiki
  • grwikimedia
  • hrwiki
  • hsbwiki
  • idwikimedia
  • id_internalwikimedia
  • ilowiki
  • iswiki
  • kkwiki
  • kuwiki
  • kuwiktionary
  • kuwikibooks
  • kuwikiquote
  • lbwiki
  • ltwiki
  • lvwiki
  • mkwiki
  • napwikisource
  • nnwiki
  • nowikimedia
  • olowiki
  • plwikiquote
  • plwikisource
  • plwikivoyage
  • plwiktionary
  • ptwikibooks
  • romdwikimedia
  • rowikibooks
  • rowikinews
  • rowikiquote
  • rowikisource
  • rowikivoyage
  • rowiktionary
  • rswikimedia
  • ruwikibooks
  • ruwikiquote
  • ruwikisource
  • ruwikiversity
  • ruwikivoyage
  • ruwiktionary
  • sewiki
  • simplewiki
  • slwiki
  • slwikibooks
  • slwikiquote
  • slwikisource
  • slwikiversity
  • slwiktionary
  • sqwiki
  • sqwikibooks
  • sqwikinews
  • sqwikiquote
  • srwikibooks
  • srwikinews
  • srwikiquote
  • srwikisource
  • srwiktionary
  • skwiki
  • svwikisource
  • tawiki
  • tawikibooks
  • tawikinews
  • tawikiquote
  • tawikisource
  • tawiktionary
  • testwiki
  • thwikibooks
  • thwikinews
  • thwikiquote
  • thwikisource
  • thwiktionary
  • trwikiquote
  • trwiktionary
  • uawikimedia
  • ukwikibooks
  • ukwikinews
  • ukwikiquote
  • ukwikisource
  • ukwikivoyage
  • ukwiktionary
  • viwikibooks
  • viwikiquote
  • viwikisource
  • viwikivoyage
  • viwiktionary

Old process:

  • enwiki
  • cswiki
  • fiwiki
  • itwiki
  • nlwiki
  • nowiki
  • plwiki
  • ptwiki
  • svwiki
  • thwiki
  • trwiki
  • azwikimedia
  • cswikivoyage
  • shwiki
  • srwiki
  • trwikivoyage
  • frwiki
  • ruwiki
  • eswiki
  • fawiki
  • frwiktionary
  • huwiki
  • rowiki
  • ukwiki
  • viwiki
  • ruwikinews

The reason for the category ordering disruption: ICU functionality is involved in multi-lingual sorting keys, among other things, and those sorting keys will change with the new version. Categories sorted with the old ICU, but displayed with the new one, will be shown out of order until they're updated. This means that:

  • For the new process: We will pre-compute the updated sorting keys, and after deploying the new ICU version, we will swap the new keys in place. Thus the disruption time is only the time needed for us to roll out the ICU library upgrade and then do the database table swap.
  • For the old process: We will deploy the new ICU version, and then run a maintenance script to update each page. Last time, it took about a week to get all the way through enwiki.

We expect to start the upgrade around Apr 7 (exact date to be confirmed with DBAs, I will update you).

There does not appear to be a CommRel support task for the previous upgrade (T345561), but there is one for the one before that: T267145 .

For your reference: More technical details about this upgrade are in the parent task T419049 and its subtasks. The development of the new process was tracked in T263437.

Event Timeline

Raine removed Raine as the assignee of this task.
Raine added a project: MoveComms-Support.
Raine moved this task from Inbox to Radar (Pending) on the ServiceOps new board.

@Raine Based on past iteration, do we have more details about the expected disruption, what do we mean by out of order display, is it expected for all users the same way, during the entire duration?

For the announcement itself:

  1. Can we organize it in subsections: What is happening / Why is this happening / Next steps / More details - To make it faster to understand
  2. It would be better to have the list of wikis following each process, instead of 'small' vs 'large' wikis, which is a bit subjective. Even if the dates are not precise, can we provide tentative weeks?

@Raine Based on past iteration, do we have more details about the expected disruption, what do we mean by out of order display, is it expected for all users the same way, during the entire duration?

For any pages that show a list of categories, they will not be sorted correctly. For wikis using the old process, it will also keep changing during the execution of the maintenance scripts. What exactly "not sorted correctly" means depends on the language.

For the announcement itself:

  1. Can we organize it in subsections: What is happening / Why is this happening / Next steps / More details - To make it faster to understand

I can do that.

  1. It would be better to have the list of wikis following each process, instead of 'small' vs 'large' wikis, which is a bit subjective. Even if the dates are not precise, can we provide tentative weeks?

As I state on task: "The exact list of affected wikis, and which use which process, will be on the parent task T419049 as soon as we finalize the "which process for which wikis" decision (I will notify you)."

Raine triaged this task as High priority.Mar 31 2026, 1:29 PM

The finalized list of affected wikis and the updated timeline is on the task.

Can we get a status update from the CommRel side please?

Can we get a status update from the CommRel side please?

@MLechvien-WMF contacted me today for advice today and I gave him the process to follow to ask for our assistance.

MoveComms-Support is a legacy workboard where existing open tickets are kept and new tickets may but don't have to be added.

We will return soon to you. :)

Possible inspirations:

Listings on category pages are sorted on each wiki for that language using a library. For a brief period on 2 November, changes to categories will not be sorted correctly for many languages. This is because the developers are upgrading to a new version of the library. They will then use a script to fix the existing categories. This will take a few hours or a few days depending on how big the wiki is. You can read more $phab

  • Messaging English Wikipedia VPT, as they could see disruption for a week, could be a good idea. See the previous message.

In the end, we decided to use the old process for all wikis this time (see T419049#11796113 if you're curious about the reasoning). So we can use the exact same messaging as last time, including the same time frame, for all wikis.

We will perform the upgrade on Monday, 20th April. The task where this will be tracked is T422544 (note that it is a new task).

Do you need more info from us?

Thank you!

Declining this in favour of using T422544 directly.