Page MenuHomePhabricator

Upgrade mw-debug/next to PHP 8.3
Closed, ResolvedPublic

Description

Requires:

  • Title-case consistency overrides are deployed, if indeed any are needed at all for 8.1 -> 8.3 (T401252). -- None is needed (both support Unicode 14).
  • Green light from MediaWiki Engineering that 8.3 is ready for production use in mw-debug (i.e., no known blockers).
  • Process is established for identifying and remediating issues that arise as a result of the upgrade (e.g., deprecation errors, regressions). -- T401855: ☂ PHP 8.3 issues found during WMF rollout

Points of note:

  • We are not currently considering T363639 a blocker for making 8.3 available in mw-debug (though it clearly would be for the production traffic ramp).
  • We decided that the upgrade to 8.3 could proceed in parallel with finalizing the monitoring / triage process, so long as the latter happens before functional testing begins in earnest.

Rollback: In the unlikely event that mw-debug/next must urgently be rolled back to PHP 8.1, the procedure is as follows:

scap sync-world --k8s-only -Dbuild_mw_container_image:False 'Revert mw-debug/next to 8.1 - T401254'

Related Objects

Event Timeline

[…]

  • Green light from MediaWiki Engineering that 8.3 is ready for production use in mw-debug (i.e., no known blockers).

[…]

You have it hereby. Thunderbirds go! 🚀

There are a few known issues and some log noises that should block non-debug traffic (e.g. mw-web, mw-api-ext/int, mw-cron, mw-jobrunner), but we haven't got any remaining known risks of corruption that would prevent public testing/debugging at this point.

Great, thank you very much, @Krinkle. I'll aim to make this happen this week.

Is there already a task for accumulating new issues that come up (e.g., log noises) as we start bringing up 8.3 in production? (i.e., analogous to T379874: ☂ PHP 8.1 issues found during WMF rollout/ramp up).

Change #1177420 had a related patch set uploaded (by Scott French; author: Scott French):

[operations/puppet@production] deployment_server: switch mw-debug/next to PHP 8.3

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

Change #1177421 had a related patch set uploaded (by Scott French; author: Scott French):

[operations/deployment-charts@master] mw-debug: switch php.version to 8.3

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

Following up on T401254#11074136, the umbrella task for tracking issues that arise on 8.3 is now T401855: ☂ PHP 8.3 issues found during WMF rollout.

The one thing we're still assessing is the processing around monitoring for said issues (see task description), given that we likely want to have that in place before upgrading mw-debug/next.

The functionality in T401721 for automatically managing php.version is now live, so we should be able to take advantage of that here.

Change #1177420 merged by Scott French:

[operations/puppet@production] deployment_server: switch mw-debug/next to PHP 8.3

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

Mentioned in SAL (#wikimedia-operations) [2025-08-20T17:18:46Z] <swfrench@deploy1003> Started scap sync-world: No-sync deployment to verify mw-debug/next helmfile diffs - T401254

Mentioned in SAL (#wikimedia-operations) [2025-08-20T17:23:43Z] <swfrench@deploy1003> Started scap sync-world: No-build deployment to apply mw-debug/next helmfile diffs - T401254

Mentioned in SAL (#wikimedia-operations) [2025-08-20T17:28:32Z] <swfrench@deploy1003> Finished scap sync-world: No-build deployment to apply mw-debug/next helmfile diffs - T401254 (duration: 05m 57s)

After some discussion, the decision was made to go ahead with the upgrade, with the expectation that the log monitoring / triage process will be solidified before testing starts in earnest.

This was done during the 17:00 UTC infra window today, and no significant issues have been encountered so far based on the limited automated testing workloads that exist (e.g., httpbb checks).

There is one minor issue (deprecation notice) in non-MediaWiki PHP code, which I'll aim to address soon (T402424).

Change #1177421 abandoned by Scott French:

[operations/deployment-charts@master] mw-debug: switch php.version to 8.3

Reason:

Superseded by automatic management of php.version (T401721)

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

Scott_French updated the task description. (Show Details)

Mentioned in SAL (#wikimedia-operations) [2025-08-21T16:19:25Z] <swfrench@deploy1003> Started scap sync-world: Deployment to pick up new PHP production images and drop unused metadata label - T402424 T401254

Mentioned in SAL (#wikimedia-operations) [2025-08-21T16:42:09Z] <swfrench@deploy1003> swfrench: Deployment to pick up new PHP production images and drop unused metadata label - T402424 T401254 synced to the testservers (see https://wikitech.wikimedia.org/wiki/Mwdebug). Changes can now be verified there.

Mentioned in SAL (#wikimedia-operations) [2025-08-21T16:55:30Z] <swfrench@deploy1003> Finished scap sync-world: Deployment to pick up new PHP production images and drop unused metadata label - T402424 T401254 (duration: 36m 37s)