May 23 2022
Afaik all follow up is done now
If there are other issues we should use a new bug for them.
Possibly dupe of https://phabricator.wikimedia.org/T296435
Seems like Title::getLinksTo is using LinkCache::getSelectFields which does not include page_namespace or page_title on 1.37.2 (but looks refactored on master). Maybe a backport gone wrong?
May 20 2022
May 6 2022
The plan is for there to be a document that will lay out the responsibilities for releases, and WMF will retain some of those responsibilities, such as providing the infrastructure and accounts.
May 3 2022
well - other than GWtoolset running remotely, and pattypan requiring image downloads and spreadsheet wrangling.
interesting christmas present to commons, to turn off a tool that was developed by WMUK and unsupported for years, in favor of a java script tool supported by a single volunteer. perhaps you would care to consider a general tool management process?
May 2 2022
I'm opposed to this. While i sympathize with MWStake wanting to increase its reach, MW should not be used for what is essentially advertising.
Apr 30 2022
This was partially fixed in f3a17b7cb98b3d8
Apr 29 2022
https://gerrit.wikimedia.org/r/c/mediawiki/extensions/RSS/+/787807 . I guess i shouldn't +2 myself, so if anyone wants to review...
Apr 28 2022
Apr 27 2022
Its related to the custom strip marker scheme, i'm not sure if that's what is being referred to in the other task. The code path involved here is the one using the Sanitizer, not the one with a custom escaping function.
Looks good :)
Apr 26 2022
Looks like it fixes the problem
Apr 25 2022
Is there any way to increase the priority for this to get fixed?
Apr 22 2022
I think i figured out the actual cause on cluster - SpamBlacklist extension. I believe 3cb265f1 is the change that triggered this issue.
Apr 21 2022
Ok, steps to reproduce locally (This is contrived, I don't know if this is what's happening on cluster. However, MediaWiki\Extension\TemplateData\Hooks::onMultiContentSave does something very similar to this, so i believe something along these is plausible):
Apr 20 2022
My theory is that this is caused by https://github.com/wikimedia/mediawiki-extensions-MassMessage/blob/master/includes/Content/MassMessageListContentHandler.php#L238 - calling $parserOutput->setText('') for the case where generateHtml is false. The docs say you should do $parserOutput->setText(null) in that case. (I would also note, that ParserOutput constructor defaults to text being '' if you don't set it at all instead of null, which seems really dangerous and wrong)
Apr 19 2022
This is expected behaviour on 1.37 - You need 1.38 for the extension to work with TimedMediaHandler. There's not really much i can do for earlier versions.
Apr 8 2022
Apr 1 2022
Just as an aside, i feel like i've seen an increase in support desk questions because of this. In particular people will try to to do the upgrade in steps, but then they will try and use an old version of mw with php8 and have problems.
Mar 27 2022
Mar 16 2022
So we want to add a new env check for this. The existing ones are here https://github.com/wikimedia/mediawiki/blob/master/includes/installer/Installer.php#L137 we probably also have to add appropriate i18n messages.
Mar 11 2022
Mar 10 2022
Jan 1 2022
Hmm. We might soonhit a scaling limit with the bot, as Module:extensionJson is getting close to 2mb max page size
Dec 30 2021
I'm going to guess that this is a bug in Firefox's GPU acceleration, and might depend on GPU driver and things.
Dec 29 2021
Currently working around by seeing if the descriptionurl field matches the file name, but that's pretty hacky
Dec 15 2021
As an aside, SemanticForms extension does do something like this.
Nothing particularly special about this extension - you could just directly link the url instead.
Dec 6 2021
Nov 30 2021
Basically i suspect this is a dupe of T56033
Afaik, on (file object) cache miss, parser doesn't bulk load file objects, but loads them one at a time from db as it encounters them in the wikitext (compared to say how doing link existence checks works with batching). Even though its a local db, this probably adds up, especially if there's other complex stuff on the page. That would also explain why the null edit is fast - its probably succesfully hitting memcached much more.
Nov 21 2021
Nov 18 2021
In addition to the actual digits, should the thousands separator continue to be ٬ or should it be a comma , like in english?
Oh i see, we now use NumberFormatter (backed by CLDR data - https://github.com/unicode-org/cldr/blob/main/common/main/sd.xml#L4810 ) if digitTransformTable is not set.
Huh that's weird.
I changed the title of this bug to give a more clear technical summary.
Nov 16 2021
Nov 13 2021
Just FYI, I'm experimenting with performance improvements in the extension QuickInstantCommons. Initial tests show a 55x speed improvement, and I also have additional ideas that are not yet implemented.
Nov 10 2021
It would probably make more sense to make a specific extension for that then use wikiseo (imho)
Oct 21 2021
The individuals and teams on the maintainers list are separate. If a person is listed for a component and a team is listed, it doesn't mean that that person is on that team. (Assuming Aaron hasn't switched teams, he is on the performance team not sdc)
and @Bawolff for the Reading team who own PdfHandler (since PDFs have the exact same problem, but just rarely trigger it for various reasons).
Oct 20 2021
Oct 16 2021
To be clear, ForeignAPIRepo::httpGET is used in places where last-modified header makes sense. However ForeignAPIRepo::httpGetCached is not.
If this worked properly, it would probably be much safer to set fileMetadataExpiry to something high like a week (On the presumption that images that are edited, get edited often.
Aug 5 2021
My example was randomly chosen. I think its pretty representative of enwikinews, but its possible the worst case is worse. The worst case on ruwikinews is probably quite a bit worse due to the order of magnitude size difference (but still not anywhere near as bad as the problematic dpl query)
Its similar to DPL. Main differences:
Aug 4 2021
So i missed originally that the ordermethod was set to "created" (aka page_id) on the dpl query. This made me confused about the query plan chosen and i said some incorrect things about it being unideal.
Just to summarize some additional investigation that was done:
- The triggering event seems to be this edit https://ru.wikinews.org/w/index.php?title=%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%96%D1%83%D1%80%D0%BD%D0%B0%D0%BB%D1%8B&logid=19137921
- Creating that category page triggered a job which parsed a large number of pages that had a DPL query on them, instigating the DB to overload
Its possible (although i don't have conclusive evidence) that mariadb was using an unideal query plan for this particular query, which may have exacerbated the situation. This particular DPL query may have been scaling proportional to the size of the categorylinks table (44M) instead of proportional to the size of the category (180k)i didn't originally notice that ordermethod in the query was set to created instead of categoryadd. categoryadd has more efficient execution
- ruwikinews had log entries that this particular DPL query (The one for the infobox on "В мире") had been failing due to timeouts for several days in the lead up to the incident. This meant that the mitigation introduced in the previous incident (wgDLPQueryCacheTime - Which was really a band-aid) was at least sometimes not applying, as it doesn't work for queries that take so long that they timeout.
- Possibly the mitigation from last time (wgDLPQueryCacheTime) helped us scale further, but when it did fail, it resulted in a much harder failure
Aug 3 2021
Jul 30 2021
A complicating factor is that the category name is parsed and people throw #switch in there. Maybe not an edge case that matters in practise though.
Jul 28 2021
Note: extension:googlenewssitemap which powers the rss feeds on wikinews ( https://en.wikinews.org/w/index.php?title=Special:NewsFeed&format=atom ) does similar queries.
For reference, DPL queries can be grouped into the following four performance categories (from best to worst):
Jul 27 2021
I'd argue we have to disable DPL from everywhere, this has potential to cause a full outage in our system but from any wiki that has it turned on. Intentionally or unintentionally.
On the other hand, in the last discussion, it was decided to rewrite the DPL to CirrusSearch.
Jul 26 2021
ruwikinews now has 13M pages (bigger than enwiktionary). Even if the band aid solution would have worked last time, we might be passed that at this point.
Jun 27 2021
May 24 2021
If oauth apps are identifying people by email adress, seems like there is an impersonation risk here if they forget to verify the confirmed flag.
May 17 2021
Mar 28 2021
Mar 9 2021
Feb 8 2021
Jan 22 2021
Its generally expected that an extension will change the user's language if appropriate. By default the user's language will be the content language not the request language.
Jan 20 2021
Jan 3 2021
Text layer is generally generated on upload. It used to be refreshable by action=purge but i dont think that is the case anymore. There is a maintenance script to refresh all of a specific file type.