Page MenuHomePhabricator

Exploratory testing on PHP 8.3 for MediaWiki Interfaces Team components
Closed, ResolvedPublic13 Estimated Story Points

Description

This task is a blocker for WE6.4.2 (FY25-26 Q1), as tracked by the parent task T360995: Migrate Wikimedia production from PHP 8.1 to PHP 8.3.

  • QTE, MW, SRE: Validation and end-to-end testing, especially areas not covered by CI.

This testing step is the last phase before SRE may start the rollout and send (a percentage of) live web requests in production to the PHP 8.3 containers.

This task represents the testing for MediaWiki Interfaces Team components as listed on mw:Maintainers. It is up to the team to judge and decide what components warrant testing at this stage, and what/how much testing to do.

MediaWiki core:

  • Action API
  • Hooks system
  • JobQueue
  • Merge history
  • Page deletion
  • REST API
  • Revision deletion

MediaWiki extensions:

  • ApiFeatureUsage

MediaWiki libs:

  • wikimedia/rdbms

How to test:

  • Enable WikimediaDebug in your browser and choose the k8s-mwdebug-next option. This routes wikipedia.org and wikimedia.org requests from your browser to the new MediaWiki containers that run PHP 8.3 instead of PHP 8.1.
  • Report any problems under T401855: ☂ PHP 8.3 issues found during WMF rollout, via the button on that task.
  • Even if you see no problems in the user interface, check the Logstash: mwdebug for any errors during your debug session. For example, non-fatal errors (such as PHP Deprecation, PHP Notice, and PHP Warning messages), and post-send exceptions (such as via a DeferredUpdate) would not show in the user interface, but are reported to Logstash.
  • We will by default delay the rollout until subtasks of T401855 are resolved. If an issue you found is considered non-blocking, please leave a comment on the subtask in question.

Once your team is satisfied with testing and has discovered any issues you want to discover before rollout, feel free to close this task.

See also:

Related Objects

Event Timeline

Atieno triaged this task as High priority.Aug 25 2025, 5:28 PM
Atieno moved this task from Incoming (Needs Triage) to Next Up on the MW-Interfaces-Team board.

Acknowledging request and adding it to our backlog for prioritization

HCoplin-WMF set the point value for this task to 13.Aug 26 2025, 3:39 PM

I found no problems listing, viewing, diffing deleted revisions and files on testwiki.

I also lightly tested Special:MergeHistory.

APIFeatureUsage looks fine, e.g.

curl --head -a 'https://test.wikipedia.org/w/api.php?action=query&prop=revisions&titles=API|Main%20Page&rvprop=timestamp|user|comment|content' -H 'User-Agent: API-Testing-Deprecated (test.wikipedia.org)'

...ends up correctly producing an INFO log about the deprecated feature and the count shows up at https://test.wikipedia.org/wiki/Special:ApiFeatureUsage?wpagent=API-Testing-Deprecated+%28test.wikipedia.org%29&wpstartdate=2025-06-05&wpenddate=2025-09-03 . No errors observed.

aaron updated the task description. (Show Details)

Regarding the job queue, I'll note that jobs actually get processed via requests to RunSingleJob.php from changeprop-jobqueue*. The browser extension can only make the client's requests use PHP 8.3, not the job execution requests that will happen in the background.

Atieno reopened this task as In Progress.

The browser extension can only make the client's requests use PHP 8.3, not the job execution requests that will happen in the background.

That's T354042: WikimediaDebug features (e.g. logging and profiling) for MediaWiki JobQueue jobs

Regarding the job queue, I'll note that jobs actually get processed via requests to RunSingleJob.php from changeprop-jobqueue*. The browser extension can only make the client's requests use PHP 8.3, not the job execution requests that will happen in the background.

Per Gergo's link, there exits indeed no (public) staging environment inside production for the JobQueue. However, I have upgraded the jobrunner in the Beta Cluster to PHP 8.3 last week, which can be used for this purpose.

Nothing new in channel:exception or channel:error on "mwmaint" and "jobrunner" hosts in Beta Cluster Logstash after running PHP 8.3 for two hours. […] PHP 8.3 is now live at:

https://en.wikipedia.beta.wmcloud.org/wiki/Special:Version

aaron updated the task description. (Show Details)