Since {285c52039} ([[ https://gerrit.wikimedia.org/r/#/c/155442/ | I39d8ed4258c ]]), the set of image files that is referenced by a stylesheet can vary by language. (See `resources/src/mediawiki.toolbar/toolbar.less`, for example.)
ResourceLoader does not expect file dependencies to vary by language. The database table in which ResourceLoader tracks module dependencies is indexed by module name and skin only.
As a result, compiling a ResourceLoader module in the context of one language will pollute the module dependency table with language-specific data, causing cache churn.
Going by log data, I think that the following modules are likely affected:
- ext.gather.collection.editor
- ext.gather.styles
- ext.popups
- ext.templateDataGenerator.ui
- jquery.tipsy
- jquery.wikiEditor.toolbar
- mediawiki.toolbar
- mmv
The obvious solution would be to add an `md_lang` column to the `module_deps` table. But using the database to track file dependencies is wrong, and we need to stop doing that sooner or later, and this bug may provide the right occasion for finally doing that.