Page MenuHomePhabricator

Some widgets are being frequently recompiled
Open, Needs TriagePublicBUG REPORT

Description

We have a number of widgets that get recompiled multiple times per minute, and one in particular that appears to get recompiled sometimes as frequently as every second on every web server across all of our wiki web servers, where all that seems to change is the internal function name. Here's an example of our busiest widget, Game link, both the compiled file and a diff showing the change after a recompilation:

Widget: https://gist.github.com/justinclloyd/de898853d6a9ed2bbc58899b54a3b31f
Recompiled version: https://gist.github.com/justinclloyd/aa377a206ffe6e07dab21c59a22f74d5

This widget in particular is used by several templates, which in turn are used by many thousands of pages, so the widget gets used a tremendous amount.

We're running MediaWiki 1.36.3 (MediaWiki core and extensions pulled from Gerrit branch REL1_36 on December 16,2021).

Event Timeline

I think @Yaron_Koren is our best shot here since he created the extension.

Ah, I forgot to check. I had been so busy helping @Justin_C_Lloyd before this that I didn't think to look.

Thank you for the pointer.

I'm working on redesigning our wikis to use a family design so I'm testing this again. I have each wiki's compiled widgets in $IP/compiled_templates/$wikiId/. I can see some widgets getting recompiled every time I hit a new page (e.g. via the Random page link) by watching the files' timestamps on the command-line via ls -l --full-time. Is there any further information I can provide to help diagnose this? Is this possibly just normal behavior, or could it be due to how the widgets are written? It would certainly be nice to resolve this before I'm ready to go live with the family redesign.