Page MenuHomePhabricator

tstarling (Tim Starling)
UserAdministrator

Projects (28)

Today

  • No visible events.

Tomorrow

  • No visible events.

Wednesday

  • No visible events.

User Details

User Since
Oct 15 2014, 8:27 PM (582 w, 4 d)
Roles
Administrator
Availability
Available
LDAP User
Tim Starling
MediaWiki User
Tim Starling (WMF) [ Global Accounts ]

Recent Activity

Yesterday

tstarling added a comment to T362937: Expose page view info to lua.

So that the data can be used alongside other parser capabilities, like Scribunto's SVG support to generate graphs. It could also be used with Charts, which I now see has a ticket for this use-case: T393500, which would be solved by this patch

Sun, Dec 14, 10:59 PM · Patch-For-Review, Scribunto, PageViewInfo
tstarling added a comment to T412337: Produnto schema.

We could put the deployments in a shared table, with wiki ID columns.

Sun, Dec 14, 10:43 PM · Scribunto
tstarling added a comment to T412337: Produnto schema.

I haven't had time to review the proposed schema in depth (I'm in an offsite until next week) but to get the discussion starting, the number of tables per-wiki is still too many[1]. I wonder if the table with one row only can be merged into something else. I don't think these tables will grow much so I'd lean towards de-normalizing as much as possible.

[1] in s3, MariaDB process needs to open many many files because of combination of many wikis and many tables and each table creating two files. Adding three tables to every wiki adds around 6000 more files to be opened by the process which impacts the performance the database.

Sun, Dec 14, 10:33 PM · Scribunto

Fri, Dec 12

tstarling updated the task description for T412337: Produnto schema.
Fri, Dec 12, 1:50 AM · Scribunto
tstarling updated the task description for T412473: Produnto purging.
Fri, Dec 12, 1:47 AM · Scribunto
tstarling renamed T412323: Produnto deployment state updater from Package deployment state updater to Produnto deployment state updater.
Fri, Dec 12, 1:47 AM · MediaWiki-General, Scribunto
tstarling updated the task description for T412337: Produnto schema.
Fri, Dec 12, 1:15 AM · Scribunto
tstarling renamed T412337: Produnto schema from Packages schema to Produnto schema.
Fri, Dec 12, 1:15 AM · Scribunto
tstarling created T412473: Produnto purging.
Fri, Dec 12, 1:11 AM · Scribunto
tstarling updated the task description for T411834: Scribunto external dependencies - roadmap and requirements.
Fri, Dec 12, 12:10 AM · Scribunto

Thu, Dec 11

tstarling updated the task description for T412320: Package fetcher.
Thu, Dec 11, 11:37 PM · MediaWiki-General, Scribunto
tstarling updated the task description for T412337: Produnto schema.
Thu, Dec 11, 6:50 AM · Scribunto
tstarling updated the task description for T412320: Package fetcher.
Thu, Dec 11, 6:46 AM · MediaWiki-General, Scribunto
tstarling created T412337: Produnto schema.
Thu, Dec 11, 6:33 AM · Scribunto
tstarling renamed T412323: Produnto deployment state updater from Package deployment state update to Package deployment state updater.
Thu, Dec 11, 2:51 AM · MediaWiki-General, Scribunto
tstarling updated the task description for T412181: Scribunto external package loader.
Thu, Dec 11, 1:19 AM · Scribunto
tstarling created T412323: Produnto deployment state updater.
Thu, Dec 11, 1:07 AM · MediaWiki-General, Scribunto
tstarling created T412320: Package fetcher.
Thu, Dec 11, 12:25 AM · MediaWiki-General, Scribunto

Wed, Dec 10

tstarling created T412317: Package deployment dashboard.
Wed, Dec 10, 11:54 PM · MediaWiki-General, Scribunto
tstarling added a comment to T362937: Expose page view info to lua.

Why get the parser involved? Why not load from the pageviews API on the client side?

Wed, Dec 10, 11:18 PM · Patch-For-Review, Scribunto, PageViewInfo
tstarling created T412181: Scribunto external package loader.
Wed, Dec 10, 6:39 AM · Scribunto

Mon, Dec 8

tstarling added a comment to T412033: StandaloneInterpreterTest failure fwrite(): Write of 80 bytes failed with errno=32 Broken pipe.

It's reproducible by just putting sleep(1) after the proc_terminate().

Mon, Dec 8, 11:09 PM · ci-test-error, Scribunto
tstarling added a comment to T410527: "mw.title.newBatch(...)" is unreasonably memory-hoggy.

Reportedly LUA can use 50 MiO RAM, quite generous. But if 7'000 pages hog 50 MiO, then every single page consumes ca 7 KiO. Does it really need so much? I could try to call "mw.title.newBatch(...)" in batches of 25 pages, and copy the relevant info from bloated title objects into a LUA table of booleans.

Mon, Dec 8, 2:21 AM · Performance Issue, Scribunto

Fri, Dec 5

tstarling updated the task description for T411834: Scribunto external dependencies - roadmap and requirements.
Fri, Dec 5, 1:32 AM · Scribunto
tstarling created T411834: Scribunto external dependencies - roadmap and requirements.
Fri, Dec 5, 1:12 AM · Scribunto

Wed, Dec 3

tstarling closed T279736: "Preview page with this template" should only accept/suggest pages that transclude the template as Resolved.
Wed, Dec 3, 11:29 AM · MW-1.46-notes (1.46.0-wmf.4; 2025-11-25), Wikimedia Wishathon, MediaWiki-extensions-TemplateSandbox
tstarling updated the task description for T279736: "Preview page with this template" should only accept/suggest pages that transclude the template.
Wed, Dec 3, 11:28 AM · MW-1.46-notes (1.46.0-wmf.4; 2025-11-25), Wikimedia Wishathon, MediaWiki-extensions-TemplateSandbox
tstarling added a comment to T279736: "Preview page with this template" should only accept/suggest pages that transclude the template.

The "accept" part is resolved, but the "suggest" part is not.

Wed, Dec 3, 11:24 AM · MW-1.46-notes (1.46.0-wmf.4; 2025-11-25), Wikimedia Wishathon, MediaWiki-extensions-TemplateSandbox
tstarling closed T355763: mw.text.jsonDecode() incorrectly interprets number strings as integers as Declined.

I can't read PHP. ChatGPT says: In this part of the code, if $isEncoding is true and the key $k is a string containing only digits (checked using ctype_digit), it converts the string to an integer using (int)$k. This is done to handle cases where JSON decoding may result in numeric keys represented as strings. The function then checks if the converted integer key forms a sequential sequence.

Is this intended? Is this a bug? If this is intended, can you add an option to allow no conversion like mw.loadJsonData("file.json", digit_conversion=False).

Wed, Dec 3, 3:27 AM · Scribunto

Tue, Dec 2

tstarling removed a project from T395368: PHP Warning: Attempt to read property "fields" on null: LuaSandbox.
Tue, Dec 2, 4:32 AM · MW-1.45-notes (1.45.0-wmf.3; 2025-05-27), Patch-For-Review, JsonConfig, Scribunto, Cite, Wikimedia-production-error
tstarling closed T395368: PHP Warning: Attempt to read property "fields" on null as Resolved.

This appears to be fixed.

Tue, Dec 2, 4:31 AM · MW-1.45-notes (1.45.0-wmf.3; 2025-05-27), Patch-For-Review, JsonConfig, Scribunto, Cite, Wikimedia-production-error
tstarling closed T344001: Scribunto: increase C stack size above 200 as Declined.

It's a last resort measure due to the major problems we've been having at the English Wiktionary with memory limits.

Tue, Dec 2, 4:25 AM · Scribunto

Fri, Nov 28

tstarling added a comment to T260838: Error 1213: Deadlock found when trying to get lock; try restarting transaction Function: MediaWiki\Block\DatabaseBlockStore::acquireTarget.

15 of these in the last week. I think we can solve this using locks.

Fri, Nov 28, 4:43 AM · Product Safety and Integrity (Essential Work Sprint (Dec 15th - Jan 9th)), Essential-Work, CheckUser, MediaWiki-Blocks, Wikimedia-production-error
tstarling closed T409843: DivisionByZeroError: Division by zero (in ChangesListQuery.php) as Resolved.
Fri, Nov 28, 4:27 AM · MW-1.46-notes (1.46.0-wmf.3; 2025-11-19), Moderator-Tools-Team (Kanban), MediaWiki-Recent-changes, Wikimedia-production-error
tstarling added a comment to T396168: Commons videos not indexed by Google.

Shall we make a new subtickets for the JSON-LD part of this, so that this ticket is fully wrapped up ?
This part is now split off into T411108: Add VideoObject JSON-LD to video File pages

Fri, Nov 28, 3:25 AM · User-notice-archive, WikibaseMediaInfo, Structured-Data-Backlog, TimedMediaHandler, MediaWiki-File-management, Commons, SEO
tstarling added a comment to T408894: Watchlist label RC filtering backend.

Error 1055: 'mediawiki_wiki1_46.recentchanges_actor.actor_user' isn't in GROUP BY

Fri, Nov 28, 3:17 AM · MW-1.46-notes (1.46.0-wmf.3; 2025-11-19), Community-Tech (Fox Squad), Watchlist-Labels
tstarling added a comment to T400023: Deploy sitemaps API for Commons.

The sitemap has only been submitted direct to Google, it's not in robots.txt and it hasn't been submitted to Bing. SRE are afraid that adding it to robots.txt will cause too much crawler traffic.

Fri, Nov 28, 3:02 AM · MW-1.45-notes (1.45.0-wmf.12; 2025-07-29), Commons, Community-Tech (Sea Lion Squad), SEO
tstarling closed T279736: "Preview page with this template" should only accept/suggest pages that transclude the template as Resolved.
Fri, Nov 28, 1:28 AM · MW-1.46-notes (1.46.0-wmf.4; 2025-11-25), Wikimedia Wishathon, MediaWiki-extensions-TemplateSandbox
tstarling added a comment to T279736: "Preview page with this template" should only accept/suggest pages that transclude the template.

This task looks like it might have adjusted the vertical spacing unintentionally; the preview line was more attached to the form below it than the form above it before today's deploy.

Fri, Nov 28, 12:39 AM · MW-1.46-notes (1.46.0-wmf.4; 2025-11-25), Wikimedia Wishathon, MediaWiki-extensions-TemplateSandbox

Wed, Nov 26

tstarling updated subscribers of T411063: MW (on k8s) should not have write access to source or configuration files.

There are also two world-writable directories: /etc/wmerrors and /etc/php/8.3/fpm/env. They have the potential for escalation and need to be fixed. I haven't fully isolated this but it seems to be related to helmfile. The deployment chart declares files in these directories, and the directories are created with incorrect permissions.

Wed, Nov 26, 12:31 AM · Release-Engineering-Team, MW-on-K8s

Tue, Nov 25

tstarling created T411063: MW (on k8s) should not have write access to source or configuration files.
Tue, Nov 25, 11:38 PM · Release-Engineering-Team, MW-on-K8s

Mon, Nov 24

tstarling closed T407087: Refactor WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo and ApiQueryRecentChanges as Resolved.
Mon, Nov 24, 4:34 AM · MW-1.46-notes (1.46.0-wmf.3; 2025-11-19), Community-Tech (Fox Squad), MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), Watchlist-Labels
tstarling added a comment to T410694: Hackathon project: CDB replacement for localization cache.

Awesome

Mon, Nov 24, 4:11 AM · MediaWiki-Internationalization, Patch-For-Review, Wikimedia-Hackathon-2026

Tue, Nov 18

tstarling added a comment to T279736: "Preview page with this template" should only accept/suggest pages that transclude the template.

Wishathon project plan

Tue, Nov 18, 1:19 AM · MW-1.46-notes (1.46.0-wmf.4; 2025-11-25), Wikimedia Wishathon, MediaWiki-extensions-TemplateSandbox
tstarling added a comment to T279736: "Preview page with this template" should only accept/suggest pages that transclude the template.

There are two implementations of this feature: one for core EditPage and one for VE. Both use TitleInputWidget, which I think will need to be subclassed. Compare MWTemplateTitleInputWidget in VE. We could override getApiParams to add prop=templates, tltemplates=....

Tue, Nov 18, 12:43 AM · MW-1.46-notes (1.46.0-wmf.4; 2025-11-25), Wikimedia Wishathon, MediaWiki-extensions-TemplateSandbox

Nov 11 2025

tstarling moved T408897: Watchlist label member store backend from Ready for Dev to In Development on the Community-Tech (Fox Squad) board.
Nov 11 2025, 5:07 AM · Community-Tech (Fox Squad), Watchlist-Labels
tstarling claimed T408897: Watchlist label member store backend.
Nov 11 2025, 1:36 AM · Community-Tech (Fox Squad), Watchlist-Labels
tstarling added a comment to T407552: Expose the revert risk language agnostic prediction boolean via the RecentChanges API.

You can already use rcprop=oresscores to serve the linked use case. Example API response:

Nov 11 2025, 12:19 AM · PersonalDashboard, MediaWiki-Recent-changes, Moderator-Tools-Team

Nov 9 2025

tstarling updated subscribers of T407127: [WE5.2.5 Milestone] Limit returned namespaces in default sitemap response.

@Joe do you have any comments on the above? I think you were involved in requirements development for this task. I would like to get a more nuanced view of what kinds of namespaces should be excluded and why.

Nov 9 2025, 11:20 PM · MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), OKR-Work, MW-Interfaces-Team (MWI-Roadmap)

Nov 7 2025

tstarling added a comment to T407127: [WE5.2.5 Milestone] Limit returned namespaces in default sitemap response.

$wgExtraNamespaces has 1705 namespaces, total for all wikis. Of those, 246 are in $wgNamespaceRobotPolicies and are presumably for internal community use.

Nov 7 2025, 5:33 AM · MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), OKR-Work, MW-Interfaces-Team (MWI-Roadmap)
tstarling added a comment to T99740: Use static php array files for l10n cache at WMF (instead of CDB).

From the point of view of image size and memory usage, it might be better to merge all the languages into a single file, and combine identical values by having a numerically indexed global value array. Maybe also abbreviate the message keys by mapping them to integers. We can tolerate a little bit of indirection at runtime.

Nov 7 2025, 3:50 AM · Wikimedia-Performance-recommendation, Release-Engineering-Team (Radar), Scap, MediaWiki-Internationalization

Nov 5 2025

tstarling updated subscribers of T408052: PHP Warning: Trying to access array offset on null (via GrowthExperiments listTaskCounts).

The point of the script is to report mediawiki.GrowthExperiments.tasktype_count.* metrics. I see this code was updated as recently as December 2024 by @Sgs and @Michael as part of T374050, although I can't find a dashboard in Grafana where these metrics are shown.

Nov 5 2025, 3:18 AM · Growth-Team (FY2025-26 Q2 Sprint 5), Growth Team Maintenance, Essential-Work, GrowthExperiments, Wikimedia-production-error

Nov 3 2025

tstarling reopened T407087: Refactor WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo and ApiQueryRecentChanges as "Open".

Still some cleanup to do

Nov 3 2025, 5:58 AM · MW-1.46-notes (1.46.0-wmf.3; 2025-11-19), Community-Tech (Fox Squad), MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), Watchlist-Labels
tstarling closed T403798: Slow watchlist queries due to large and expensive temporary table construction, a subtask of T400696: FY25-26 WE1.4.1 RecentChanges database performance improvements, as Resolved.
Nov 3 2025, 5:30 AM · OKR-Work, Moderator-Tools-Team, Data-Persistence, Epic, MediaWiki-Recent-changes
tstarling closed T403798: Slow watchlist queries due to large and expensive temporary table construction as Resolved.

An average over the past 3 days, compared to a week earlier, suggests this intervention reduced slow queries (in terms of total duration per day) by 59% for Watchlist and 77% for RecentChangesLinked.

Nov 3 2025, 5:30 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), MediaWiki-Watchlist, Data-Persistence, MediaWiki-Recent-changes

Nov 2 2025

tstarling claimed T409020: ChangesListSpecialPage incorrect highlight for mw-changeslist-last.
Nov 2 2025, 11:04 PM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), MW-1.46-notes (1.46.0-wmf.1; 2025-11-05), MediaWiki-Recent-changes, Moderator-Tools-Team
tstarling created T409020: ChangesListSpecialPage incorrect highlight for mw-changeslist-last.
Nov 2 2025, 10:55 PM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), MW-1.46-notes (1.46.0-wmf.1; 2025-11-05), MediaWiki-Recent-changes, Moderator-Tools-Team

Oct 31 2025

tstarling added a comment to T403798: Slow watchlist queries due to large and expensive temporary table construction.

Watchlist slow query count -- deployment was at 23:35

Oct 31 2025, 10:15 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), MediaWiki-Watchlist, Data-Persistence, MediaWiki-Recent-changes
tstarling created T408897: Watchlist label member store backend.
Oct 31 2025, 7:18 AM · Community-Tech (Fox Squad), Watchlist-Labels
tstarling created T408895: Watchlist label store class.
Oct 31 2025, 6:59 AM · MW-1.46-notes (1.46.0-wmf.3; 2025-11-19), Community-Tech (Fox Squad), Watchlist-Labels
tstarling created T408894: Watchlist label RC filtering backend.
Oct 31 2025, 6:40 AM · MW-1.46-notes (1.46.0-wmf.3; 2025-11-19), Community-Tech (Fox Squad), Watchlist-Labels
tstarling added a comment to T403798: Slow watchlist queries due to large and expensive temporary table construction.

I made a Grafana dashboard for the relevant metrics: https://grafana.wikimedia.org/goto/jL2bYqRDg?orgId=1

Oct 31 2025, 1:28 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), MediaWiki-Watchlist, Data-Persistence, MediaWiki-Recent-changes

Oct 30 2025

tstarling added a comment to T307738: Actor name can not be empty for 0 and 3215898.

InvalidArgumentException is the wrong exception class for validating data from the database, that is for programmer errors. It should have a special subclass of RuntimeException so that it can be safely caught by all callers. I see RevisionStore is catching this exception at lines 1622 and 1699, but not at lines 1752 or 3236. An exception should either be caught or not, there's no rationale for conditionally catching it.

Oct 30 2025, 10:01 PM · MediaWiki-Platform-Team (Radar), MediaWiki-Engineering, Wikimedia-database-issue (Bad data), User-brennen, MW-1.39-notes (1.39.0-wmf.12; 2022-05-16), Wikimedia-production-error, MediaWiki-User-management
tstarling updated subscribers of T408052: PHP Warning: Trying to access array offset on null (via GrowthExperiments listTaskCounts).

There is a cron job running listTaskCounts.php --topictype ores which makes a TopicDecorator with $useOresTopics=true, so TopicDecorator::loadTopics() returns the list of topics from ArticleTopicFeature::TERMS_TO_LABELS. The array access on lines 146, 147, 149 and 152 could be properly guarded, but I wonder if the script is still doing a useful thing after refactoring in this area e.g. T393872.

Oct 30 2025, 9:53 PM · Growth-Team (FY2025-26 Q2 Sprint 5), Growth Team Maintenance, Essential-Work, GrowthExperiments, Wikimedia-production-error
tstarling added a comment to T407127: [WE5.2.5 Milestone] Limit returned namespaces in default sitemap response.

Could you clarify what you mean about the meta robots tag?

Oct 30 2025, 6:07 AM · MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), OKR-Work, MW-Interfaces-Team (MWI-Roadmap)
tstarling added a comment to T310267: Allow large image previews by adding max image preview tag.

Did this actually do anything? The linked documentation seems to imply that max-image-preview: standard is the default, so just sending that tag on every page should have no effect.

Oct 30 2025, 3:22 AM · Web-Team FY2022-23 Q3 Sprint 1, MW-1.40-notes (1.40.0-wmf.5; 2022-10-10), MediaWiki-extensions-WikimediaEvents, SEO

Oct 29 2025

tstarling added a comment to T404416: ChangesListQuery class and related ChangesListSpecialPage refactoring.

Translate filter:

Oct 29 2025, 12:17 AM · MW-1.45-notes, MW-1.46-notes (1.46.0-wmf.1; 2025-11-05), Moderator-Tools-Team (Kanban), Data-Persistence, MediaWiki-Recent-changes

Oct 28 2025

tstarling closed T407087: Refactor WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo and ApiQueryRecentChanges as Resolved.
Oct 28 2025, 10:54 AM · MW-1.46-notes (1.46.0-wmf.3; 2025-11-19), Community-Tech (Fox Squad), MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), Watchlist-Labels
tstarling created T408525: PHP Deprecated: Deprecated cross-wiki access to MediaWiki\Revision\RevisionRecord. Expected: 'testwikidatawiki', Actual: the local wiki. Pass expected $wikiId. [Called from MediaWiki\Revision\RevisionRecord::getId].
Oct 28 2025, 9:02 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Wikidata-Omega, MW-1.46-notes (1.46.0-wmf.1; 2025-11-05), Wikidata, Wikimedia-production-error

Oct 27 2025

tstarling added a comment to T407087: Refactor WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo and ApiQueryRecentChanges.

The first is when you have negative namespace values, I'm not seeing the results being filtered by that namespace and I'm seeing a warning returned:

Screenshot 2025-10-27 at 11.15.18 AM.png (908×2 px, 235 KB)

This happens for both Special and Media namespaces.

Oct 27 2025, 10:17 PM · MW-1.46-notes (1.46.0-wmf.3; 2025-11-19), Community-Tech (Fox Squad), MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), Watchlist-Labels
tstarling added a comment to T406843: Create watchlist labels database tables.

On db2202 I created the cross-join table watchlist_label_member_T406843 using the definition from the task description. Then I populated it with some rows as follows:

Oct 27 2025, 12:59 AM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels

Oct 24 2025

tstarling updated the task description for T406843: Create watchlist labels database tables.
Oct 24 2025, 5:42 AM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels
tstarling updated the task description for T406843: Create watchlist labels database tables.
Oct 24 2025, 5:40 AM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels
tstarling added a comment to T407087: Refactor WatchedItemQueryService::getWatchedItemsWithRecentChangeInfo and ApiQueryRecentChanges.

I was testing the API endpoint locally and I did find one minor issue where bot edits were coming back from the API even with the !bot flag set:

Oct 24 2025, 4:09 AM · MW-1.46-notes (1.46.0-wmf.3; 2025-11-19), Community-Tech (Fox Squad), MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), Watchlist-Labels
tstarling added a comment to T406843: Create watchlist labels database tables.

Oh, that makes sense. So basically it's adding a wlm_list column to watchlist?

Oct 24 2025, 1:40 AM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels
tstarling added a comment to T406843: Create watchlist labels database tables.

Has there been any discussion of being able to expire labels? That seems like a new feature that no one's asking for.

Oct 24 2025, 1:17 AM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels
tstarling added a comment to T403798: Slow watchlist queries due to large and expensive temporary table construction.

For the other special pages, we can only expect a performance advantage when a table other than recentchanges is first in the join order. Most Special:RecentChanges slow queries are due to ORES, which is not suitable for placing first in the join order and thus there is no advantage. I checked the EXPLAIN for a few other RC queries, but they were all putting recentchanges first.

Oct 24 2025, 1:04 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), MediaWiki-Watchlist, Data-Persistence, MediaWiki-Recent-changes

Oct 23 2025

tstarling added a comment to T403798: Slow watchlist queries due to large and expensive temporary table construction.

I tested the watchlist in the task description by calling SpecialWatchlist::getRows() from eval.php. The first time with no partitioning, the main query took 17.5 seconds. The second time, after warmup, it took 3.4 seconds. With partitioning, there were two queries for a total query time of 0.19 seconds.

Oct 23 2025, 11:34 PM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), MediaWiki-Watchlist, Data-Persistence, MediaWiki-Recent-changes
tstarling added a comment to T406843: Create watchlist labels database tables.

@tstarling just want to make sure I understand - the main argument for "copy" instead of "cross-join" is to build the label into the indices to make filtering faster, is that correct?

Oct 23 2025, 8:02 PM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels
tstarling closed T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous as Resolved.
Oct 23 2025, 10:08 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team, MediaWiki-Recent-changes, Wikimedia-production-error
tstarling closed T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous, a subtask of T405680: 1.45.0-wmf.24 deployment blockers, as Resolved.
Oct 23 2025, 10:08 AM · Release-Engineering-Team (Priority Backlog 📥), Essential-Work, Release, Train Deployments
tstarling triaged T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous as Unbreak Now! priority.
Oct 23 2025, 8:46 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team, MediaWiki-Recent-changes, Wikimedia-production-error
tstarling added a parent task for T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous: T405680: 1.45.0-wmf.24 deployment blockers.
Oct 23 2025, 8:46 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team, MediaWiki-Recent-changes, Wikimedia-production-error
tstarling added a subtask for T405680: 1.45.0-wmf.24 deployment blockers: T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous.
Oct 23 2025, 8:46 AM · Release-Engineering-Team (Priority Backlog 📥), Essential-Work, Release, Train Deployments
tstarling added a comment to T408057: Wikimedia\Rdbms\DBQueryError when filtering edits by tags.

cc @tstarling FYI, potentially related to (or is) T408040?

Oct 23 2025, 8:12 AM · Moderator-Tools-Team, MediaWiki-Change-tagging, MediaWiki-Recent-changes
tstarling closed T403142: recentchanges.rc_source registry of known values as Resolved.

This is done. However, I could not reproduce any performance improvement. The database does actually optimise a not-equals condition, so the index usage doesn't change.

Oct 23 2025, 6:33 AM · Moderator-Tools-Team (Kanban), Patch-For-Review, MW-1.45-notes (1.45.0-wmf.19; 2025-09-16), Data-Persistence, MediaWiki-Recent-changes
tstarling closed T403142: recentchanges.rc_source registry of known values, a subtask of T400696: FY25-26 WE1.4.1 RecentChanges database performance improvements, as Resolved.
Oct 23 2025, 6:33 AM · OKR-Work, Moderator-Tools-Team, Data-Persistence, Epic, MediaWiki-Recent-changes
tstarling added a comment to T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous.

Now seeing

Error 1054 from MediaWiki\RecentChanges\ChangesListQuery\ChangeTagsCondition::isDenseTagFilter, Unknown column 'changetagdisplay.ct_rc_id' in 'WHERE' EXPLAIN SELECT  *  FROM `change_tag`    WHERE (changetagdisplay.ct_rc_id >= 7363925) AND changetagdisplay.ct_tag_id = 31   db1159
Oct 23 2025, 6:14 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team, MediaWiki-Recent-changes, Wikimedia-production-error
tstarling added a comment to T403798: Slow watchlist queries due to large and expensive temporary table construction.

testwiki with days=30, limit=20:

Oct 23 2025, 2:56 AM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team (Kanban), MediaWiki-Watchlist, Data-Persistence, MediaWiki-Recent-changes

Oct 22 2025

tstarling updated the task description for T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous.
Oct 22 2025, 11:12 PM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team, MediaWiki-Recent-changes, Wikimedia-production-error
tstarling updated the task description for T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous.
Oct 22 2025, 10:59 PM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team, MediaWiki-Recent-changes, Wikimedia-production-error
tstarling updated the task description for T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous.
Oct 22 2025, 10:45 PM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team, MediaWiki-Recent-changes, Wikimedia-production-error
tstarling created T408040: Wikimedia\Rdbms\DBQueryError: Error 1052: Column 'ct_tag_id' in WHERE is ambiguous.
Oct 22 2025, 10:41 PM · MW-1.45-notes (1.45.0-wmf.25; 2025-10-28), Moderator-Tools-Team, MediaWiki-Recent-changes, Wikimedia-production-error
tstarling added a comment to T406843: Create watchlist labels database tables.

Daniel points out that watchlist expiry is awkward if you want an expiry time to apply to all labels on a page but we_item links to wlm_id.

Oct 22 2025, 10:45 AM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels
tstarling added a comment to T406843: Create watchlist labels database tables.

I added wld_count for limiting the size of a watchlist. The page move REPLACE query is a potentially tricky detail.

Oct 22 2025, 10:42 AM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels
tstarling closed T407826: X-Request-Id response header off by 5000 as Resolved.

Thanks everyone. I guess it's resolved? Please reopen if there's something left to do.

Oct 22 2025, 4:18 AM · serviceops, Traffic

Oct 21 2025

tstarling added a comment to T279736: "Preview page with this template" should only accept/suggest pages that transclude the template.

There's no index which would allow efficient autocomplete prefix searches on pages that use a given template. But we could apply a CSS class to items in the menu depending on whether the page uses the template. If the number of pages using the template is small (<200) then there could be a separate mode where we only suggest those pages, although the mode switch might be surprising to users.

Oct 21 2025, 11:28 PM · MW-1.46-notes (1.46.0-wmf.4; 2025-11-25), Wikimedia Wishathon, MediaWiki-extensions-TemplateSandbox
tstarling added a comment to T380021: Add a flag for edits that are Structured Data edits.

In ApiQueryRecentChanges, there is a "slot" parameter which does essentially what is requested, but it's inefficiently implemented, so I don't want to see that solution extended to RecentChanges highlighting.

Oct 21 2025, 10:47 PM · Wikimedia-Hackathon-2025, Community-Wishlist, Wikidata, Wikidata Integration in Wikimedia projects, Structured-Data-Backlog, Commons, WikibaseMediaInfo, Moderator-Tools-Team, MediaWiki-Recent-changes, MediaWiki-Watchlist
tstarling updated the task description for T406843: Create watchlist labels database tables.
Oct 21 2025, 9:59 PM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels
tstarling updated the task description for T406843: Create watchlist labels database tables.
Oct 21 2025, 8:43 PM · Data-Persistence (work done), MW-1.46-notes (1.46.0-wmf.2; 2025-11-12), Community-Tech (Fox Squad), Watchlist-Labels