Page MenuHomePhabricator

aaron (Aaron Schulz)
User

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Monday

  • Clear sailing ahead.

User Details

User Since
Oct 20 2014, 5:25 PM (496 w, 5 d)
Availability
Available
IRC Nick
AaronSchulz
LDAP User
Aaron Schulz
MediaWiki User
Aaron Schulz [ Global Accounts ]

Recent Activity

Fri, Apr 19

aaron closed T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements as Resolved.
Fri, Apr 19, 8:44 PM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms
aaron updated the task description for T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements.
Fri, Apr 19, 8:44 PM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms

Wed, Apr 10

aaron added a comment to T275370: Unable to move pages despite being autoconfirmed on wikis with FlaggedRevs.

The user needs movestable or review. The code could just be changed to also allow moves with autoreview.

Wed, Apr 10, 7:36 PM · Regression, MediaWiki-Page-rename, MediaWiki-extensions-FlaggedRevs

Wed, Apr 3

aaron updated the task description for T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements.
Wed, Apr 3, 10:36 PM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms

Thu, Mar 28

aaron updated the task description for T361078: Clean up changed/temp table tracking in Database/Query and document table name expectations.
Thu, Mar 28, 8:41 PM · Patch-For-Review, MW-Interfaces-Team, MediaWiki-libs-Rdbms

Mar 28 2024

aaron closed T331150: Getting added_lines data as Declined.

An example of a diff where lines are added is https://en.wikipedia.org/w/index.php?title=User:Spicy/spihelper_log&curid=74418657&diff=1216025285&oldid=1216024788

Mar 28 2024, 4:10 PM · MW-Interfaces-Team, Data-Engineering
aaron claimed T276975: Deprecate and remove $wgAPIRequestLog.
Mar 28 2024, 3:33 PM · MW-Interfaces-Team, Technical-Debt (Deprecation process), MediaWiki-Action-API
aaron claimed T361078: Clean up changed/temp table tracking in Database/Query and document table name expectations.
Mar 28 2024, 3:24 PM · Patch-For-Review, MW-Interfaces-Team, MediaWiki-libs-Rdbms
aaron moved T361078: Clean up changed/temp table tracking in Database/Query and document table name expectations from Incoming (Needs Triage) to In Progress on the MW-Interfaces-Team board.
Mar 28 2024, 3:23 PM · Patch-For-Review, MW-Interfaces-Team, MediaWiki-libs-Rdbms

Mar 27 2024

aaron added a comment to T221795: Refactor Category::refreshCounts logic to a job and simplify.

FWIW, this system has caused an incident where several million articles were not editable because this process locked 3M rows in pagelinks. Fixing that would improve our resilience.

Mar 27 2024, 10:24 PM · Wikimedia-Performance-recommendation, Sustainability (Incident Followup), Platform Engineering Code Jam-2021, Platform Engineering Roadmap Decision Making, MediaWiki-Categories
aaron closed T234455: Implement our own Memcached client to support pipelined operations (remove dependency on PECL) as Declined.
Mar 27 2024, 6:27 PM · Patch-For-Review, MediaWiki-Platform-Team (Radar), MediaWiki-libs-BagOStuff
aaron awarded T272194: Deprecate and remove $wgCachePrefix a Yellow Medal token.
Mar 27 2024, 5:51 PM · MediaWiki-Platform-Team, Technical-Debt (Deprecation process), MediaWiki-libs-BagOStuff
aaron updated the task description for T361078: Clean up changed/temp table tracking in Database/Query and document table name expectations.
Mar 27 2024, 1:41 AM · Patch-For-Review, MW-Interfaces-Team, MediaWiki-libs-Rdbms
aaron created T361078: Clean up changed/temp table tracking in Database/Query and document table name expectations.
Mar 27 2024, 1:18 AM · Patch-For-Review, MW-Interfaces-Team, MediaWiki-libs-Rdbms
aaron closed T18794: $wgSharedDB PostgreSQL support as Declined.

For basic maintainability, no new "support" should be added for this "feature".

Mar 27 2024, 1:15 AM · PostgreSQL, MediaWiki-libs-Rdbms
aaron closed T18794: $wgSharedDB PostgreSQL support, a subtask of T2384: [REPLACED BY TAG] PostgreSQL/pgsql support (tracking), as Declined.
Mar 27 2024, 1:14 AM · PostgreSQL, Tracking-Neverending, MediaWiki-libs-Rdbms

Mar 26 2024

aaron committed rEOSAadf495ddf53c: Remove use of upsert() return value in Settings.
Remove use of upsert() return value in Settings
Mar 26 2024, 2:23 AM
aaron awarded T360589: De-fragment thumbnail sizes in mediawiki a Grey Medal token.
Mar 26 2024, 2:15 AM · Commons, MediaWiki-File-management, Data-Persistence

Mar 25 2024

aaron edited projects for T316841: Replace "db" field usages with new getDb() in MediaWikiIntegrationTestCase, added: MW-Interfaces-Team; removed MW-1.40-notes (1.40.0-wmf.1; 2022-09-12).
Mar 25 2024, 4:18 PM · MediaWiki-core-Hackathon-2024, good first task, MW-Interfaces-Team, MediaWiki-Core-Tests
aaron updated the task description for T316841: Replace "db" field usages with new getDb() in MediaWikiIntegrationTestCase.
Mar 25 2024, 4:18 PM · MediaWiki-core-Hackathon-2024, good first task, MW-Interfaces-Team, MediaWiki-Core-Tests
aaron updated the task description for T316841: Replace "db" field usages with new getDb() in MediaWikiIntegrationTestCase.
Mar 25 2024, 4:17 PM · MediaWiki-core-Hackathon-2024, good first task, MW-Interfaces-Team, MediaWiki-Core-Tests

Mar 19 2024

aaron added a comment to T295008: MediaWiki uploads files to Swift in eqiad and codfw in serial, not parallel.

I think the intent was to have better consistency for doOperations() calls with only a single-step file operation (e.g. not move for swift). If a PUT request fails in the master backend, then not trying it on the second backend keeps things consistent. This doesn't cover the edge case of a non-answer (e.g. timeout or 503) where the objects where ultimately saved.

Mar 19 2024, 10:03 PM · Sustainability (Incident Followup), Commons, MediaWiki-File-management, MediaWiki-Uploading

Mar 15 2024

aaron awarded T358830: Uploads fail due to 401 error from swift on wednesdays a Yellow Medal token.
Mar 15 2024, 9:38 PM · MW-1.42-notes (1.42.0-wmf.23; 2024-03-19), MediaWiki-Engineering, Commons, MediaWiki-File-management, SRE-swift-storage

Mar 14 2024

aaron added a comment to T348294: FSFileBackend spends a lot of time generating uneeded sha1 hashes that are expensive for large files.

When i was testing this, the new version did still calculate some SHA1's in maybeUpgradeRow in a deferredupdate. However that is unrelated to file backend, and possibly is something about my local install or the file type handler.

Mar 14 2024, 5:53 PM · MW-1.42-notes (1.42.0-wmf.21; 2024-03-05), MW-Interfaces-Team, Patch-For-Review, Performance Issue, MediaWiki-File-management, Commons, Multimedia

Mar 2 2024

aaron added a comment to T249745: Could not enqueue jobs: "Unable to deliver all events: 503: Service Unavailable".

I couple things I wonder about:

  • Though the bottleneck seems to be EventGate more than Kafka, I still wonder why profile::kafka::mirror::properties doesn't blacklist all MW jobs?* Is anything making use of that extra data?
  • Are there stats on the average byte length of jobs enqueued? Maybe JobQueueEventBus could emit those to find bulky jobs. At least cirrus search jobs are known for being bulky. Maybe there are more. I assume the bulky cirrus job problem will be resolved if the new stream-based updater is deployed (T317045).
  • I wonder if JobQueueGroup::lazyPush()/JobQueueEventBus could be rigged to make the provided jobs use "hasty" mode in EventGate?
Mar 2 2024, 5:10 AM · MediaWiki-Engineering, Data-Engineering, Unstewarded-production-error, User-brennen, serviceops, WMF-JobQueue, Wikimedia-production-error

Feb 27 2024

aaron added a comment to T358492: Clarify current status and future directions for Status and StatusValue classes.

I think having fatals and warnings is useful and reasonable. What seems confusing now is that we have kind-of-three levels of errors, one of which is confusingly called an "error" type error:

  • StatusValue::warning() sets a "warning" error.
  • StatusValue::error() sets an "error" error. This seems the most dubious. Is it supposed to mean that something definitely failed, but didn't ruin the whole operation? I can't see where this would come up besides some kind of very unusual sub-status merging, which should probably be done with custom merge logic anyway (possibly changing sub-status fatals to warnings).
  • StatusValue::error() sets a "error" error (not a "fatal" error), and makes isOK() return false. Since the type is just "error", one can no longer find "which errors" caused the fatal (if any, since something could just call setOK( false ) for some reason).
Feb 27 2024, 5:32 AM · MW-1.42-notes (1.42.0-wmf.21; 2024-03-05), Patch-For-Review, MediaWiki-General

Feb 22 2024

aaron claimed T348294: FSFileBackend spends a lot of time generating uneeded sha1 hashes that are expensive for large files.
Feb 22 2024, 4:14 PM · MW-1.42-notes (1.42.0-wmf.21; 2024-03-05), MW-Interfaces-Team, Patch-For-Review, Performance Issue, MediaWiki-File-management, Commons, Multimedia
aaron closed T318845: Disallow passing raw subqueries to IDatabase::tableName, a subtask of T210206: Deprecate raw SQL conditions for IDatabase methods (select, insert, etc.), as Resolved.
Feb 22 2024, 4:14 PM · MW-1.42-notes (1.42.0-wmf.26; 2024-04-09), Patch-For-Review, DBA, API Platform, MediaWiki-libs-Rdbms
aaron closed T318845: Disallow passing raw subqueries to IDatabase::tableName as Resolved.
Feb 22 2024, 4:14 PM · MW-1.42-notes (1.42.0-wmf.19; 2024-02-20), MW-Interfaces-Team, Sustainability (Incident Followup), Developer Productivity, MediaWiki-libs-Rdbms

Feb 16 2024

aaron moved T348294: FSFileBackend spends a lot of time generating uneeded sha1 hashes that are expensive for large files from Incoming (Needs Triage) to In Progress on the MW-Interfaces-Team board.
Feb 16 2024, 8:32 PM · MW-1.42-notes (1.42.0-wmf.21; 2024-03-05), MW-Interfaces-Team, Patch-For-Review, Performance Issue, MediaWiki-File-management, Commons, Multimedia
aaron added a project to T348294: FSFileBackend spends a lot of time generating uneeded sha1 hashes that are expensive for large files: MW-Interfaces-Team.
Feb 16 2024, 8:32 PM · MW-1.42-notes (1.42.0-wmf.21; 2024-03-05), MW-Interfaces-Team, Patch-For-Review, Performance Issue, MediaWiki-File-management, Commons, Multimedia

Feb 8 2024

aaron added a project to T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements: MW-Interfaces-Team.
Feb 8 2024, 4:04 PM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms

Feb 1 2024

aaron added a project to T252591: REST API endpoints give confusing errors for invalid OAuth2 access tokens: MW-Interfaces-Team.
Feb 1 2024, 4:40 PM · MW-Interfaces-Team, Patch-Needs-Improvement, MediaWiki-REST-API, Platform Team Workboards (Clinic Duty Team), Platform Team Initiatives (MW REST API in PHP), MediaWiki-extensions-OAuth
aaron moved T354976: Create new NetworkSession mediawiki extension from Incoming to Must do now on the API Platform board.
Feb 1 2024, 3:54 PM · MW-Interfaces-Team, serviceops-radar, NetworkSession, Patch-For-Review, API Platform, Discovery-Search (Current work), MediaWiki-Configuration, CirrusSearch

Jan 30 2024

aaron closed T273934: Support wgSharedTables setup in UserStore as Declined.

I don't think anything new should get built on top of $wgSharedTables or setTableAliases(). Those are basically old tech debt that's akin to inserting things in the middle of a jinga tower to hopefully get the intent result.

Jan 30 2024, 10:41 PM · Platform Team Workboards (MW Expedition), MediaWiki-User-management
aaron closed T273934: Support wgSharedTables setup in UserStore, a subtask of T272689: Investigate design of UserStore or UserAccountStore, as Declined.
Jan 30 2024, 10:41 PM · MW-1.36-notes (1.36.0-wmf.30; 2021-02-09), Platform Team Workboards (MW Expedition), MediaWiki-User-management
aaron added a comment to T313731: Long term plan for reducing maintenance workload on the Search Platform team of supporting APIFeatureUsage.

Yes, That's how other pruning of old rows works in mediawiki (RC, CU, etc.) and for the sake of simplicity of architecture, it should just reuse the same concepts if not the same code.

Jan 30 2024, 10:08 PM · Patch-For-Review, MW-Interfaces-Team, ApiFeatureUsage, Platform Engineering, Discovery-Search
aaron added a comment to T313731: Long term plan for reducing maintenance workload on the Search Platform team of supporting APIFeatureUsage.

The circular replication is quite a snowflake and has caused issues before, I'd avoid it if possible.

Jan 30 2024, 1:30 AM · Patch-For-Review, MW-Interfaces-Team, ApiFeatureUsage, Platform Engineering, Discovery-Search

Jan 25 2024

aaron awarded T355376: Replace $wgSharedDb with virtual domains a Love token.
Jan 25 2024, 6:50 PM · MW-Interfaces-Team, Technical-Debt, MediaWiki-libs-Rdbms, MediaWiki-Core-AuthManager
aaron added a comment to T355376: Replace $wgSharedDb with virtual domains.

I'm strongly in favor of getting rid of the mess that is $wgSharedTables. Any mechanism that supports sharing tables needs to be designed to be aware of that, using appropriate methods to get database handles that are documented as being on possibly different databases. The caller would at least know that certain tables are co-located.

Jan 25 2024, 6:49 PM · MW-Interfaces-Team, Technical-Debt, MediaWiki-libs-Rdbms, MediaWiki-Core-AuthManager
aaron added a project to T354976: Create new NetworkSession mediawiki extension: MW-Interfaces-Team.
Jan 25 2024, 5:38 PM · MW-Interfaces-Team, serviceops-radar, NetworkSession, Patch-For-Review, API Platform, Discovery-Search (Current work), MediaWiki-Configuration, CirrusSearch
aaron added a project to T313731: Long term plan for reducing maintenance workload on the Search Platform team of supporting APIFeatureUsage: MW-Interfaces-Team.
Jan 25 2024, 5:38 PM · Patch-For-Review, MW-Interfaces-Team, ApiFeatureUsage, Platform Engineering, Discovery-Search
aaron added a comment to T313731: Long term plan for reducing maintenance workload on the Search Platform team of supporting APIFeatureUsage.

I'd rather not have the writes be cross-datacenter, tying up the working thread in the post-send stage of web requests, especially given the potential for spikes. If there was some aggregation service in the middle (batching/flushing counter updates), that would less risky, though more complex.

Jan 25 2024, 5:14 AM · Patch-For-Review, MW-Interfaces-Team, ApiFeatureUsage, Platform Engineering, Discovery-Search

Jan 22 2024

aaron edited projects for T318845: Disallow passing raw subqueries to IDatabase::tableName, added: MW-Interfaces-Team; removed MediaWiki-User-Interface.
Jan 22 2024, 4:41 PM · MW-1.42-notes (1.42.0-wmf.19; 2024-02-20), MW-Interfaces-Team, Sustainability (Incident Followup), Developer Productivity, MediaWiki-libs-Rdbms
aaron added a project to T318845: Disallow passing raw subqueries to IDatabase::tableName: MediaWiki-User-Interface.
Jan 22 2024, 4:40 PM · MW-1.42-notes (1.42.0-wmf.19; 2024-02-20), MW-Interfaces-Team, Sustainability (Incident Followup), Developer Productivity, MediaWiki-libs-Rdbms
aaron claimed T318845: Disallow passing raw subqueries to IDatabase::tableName.
Jan 22 2024, 4:40 PM · MW-1.42-notes (1.42.0-wmf.19; 2024-02-20), MW-Interfaces-Team, Sustainability (Incident Followup), Developer Productivity, MediaWiki-libs-Rdbms

Jan 15 2024

aaron committed rEPLAfd0eee674e31: Deprecate $userLang parameter type from onPageContentLanguage hook handlers.
Deprecate $userLang parameter type from onPageContentLanguage hook handlers
Jan 15 2024, 6:18 PM
aaron committed rEGTR09e739a43e29: Remove $userLang parameter from onPageContentLanguage hook handlers.
Remove $userLang parameter from onPageContentLanguage hook handlers
Jan 15 2024, 12:53 PM

Jan 11 2024

aaron moved T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements from Should do next to Must do now on the API Platform board.
Jan 11 2024, 4:07 PM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms

Dec 21 2023

aaron created T353859: Parsoid errors not fully propagated to VisualEditor errors.
Dec 21 2023, 3:26 AM · MediaWiki-REST-API, Parsoid (Tracking), VisualEditor

Dec 13 2023

aaron added a comment to T338794: Increase in SQLPlatform::tableName: use of subqueries is not supported this way.

Is this still an issue? I'm not seeing this in any kibana production logs.

Dec 13 2023, 12:49 AM · Wikibase Cloud

Dec 11 2023

aaron added a comment to T349761: Consider naming and usage conventions of new DatabaseVirtualDomains/VirtualDomainsMapping config.

One last point was that the configuration arrays include a 'db' key, which is actually a DB Domain. Should 'db' be enforced as a database name only (not a full DB Domain), maybe renamed 'dbname', or should it be renamed 'dbDomain', or maybe something else?

Dec 11 2023, 5:26 PM · API Platform, MediaWiki-Platform-Team (Radar), Documentation, DBA, MediaWiki-libs-Rdbms
aaron added a comment to T349761: Consider naming and usage conventions of new DatabaseVirtualDomains/VirtualDomainsMapping config.

What about VirtualDomainsMapping vs VirtualDomainMapping? Maybe it could even be DatabaseVirtualDomainMapping since this has nothing to do with vhosts or anything like that?

Dec 11 2023, 5:24 PM · API Platform, MediaWiki-Platform-Team (Radar), Documentation, DBA, MediaWiki-libs-Rdbms

Dec 4 2023

aaron placed T345185: Provide a method for internal services to run api requests for private wikis up for grabs.
Dec 4 2023, 7:05 PM · MW-1.42-notes (1.42.0-wmf.16; 2024-01-30), API Platform, serviceops, Discovery-Search (Current work), MediaWiki-Configuration, CirrusSearch
aaron added a comment to T345185: Provide a method for internal services to run api requests for private wikis.

So, without T246371 being done yet, it looks like current apache config on the jobrunners won't let you use RunSingleJobHandler, but only /rpc/* stuff. So, either:

  • an exception would have to be made for the /w/rest.php/eventbus/v0/internal/job/execute within modules/profile/templates/mediawiki/jobrunner/site.conf.erb
  • rpc/RunSingleJob.php would have to temporarily be used by the search updater and migrated later.
Dec 4 2023, 7:04 PM · MW-1.42-notes (1.42.0-wmf.16; 2024-01-30), API Platform, serviceops, Discovery-Search (Current work), MediaWiki-Configuration, CirrusSearch
aaron added a comment to T352628: Fatal exception of type "Wikimedia\Rdbms\DBTransactionSizeError".
Dec 4 2023, 5:26 PM · MediaWiki-Categories, Patch-For-Review, MW-1.42-notes (1.42.0-wmf.7; 2023-11-28), DBA, Wikimedia-production-error
aaron added a comment to T352628: Fatal exception of type "Wikimedia\Rdbms\DBTransactionSizeError".

One thing to also fix here is that things like SELECT FOR UPDATE, SELECT GET_LOCK()...any SELECT really...should be exempted from the transaction size check in approvePrimaryChanges(). There is no use in ROLLBACK at that point. I'll make a patch for that.

Dec 4 2023, 5:25 PM · MediaWiki-Categories, Patch-For-Review, MW-1.42-notes (1.42.0-wmf.7; 2023-11-28), DBA, Wikimedia-production-error

Nov 29 2023

aaron updated the task description for T352316: Clean up quoted component handling in code using isQuotedIdentifier() and qualifiedTableComponents().
Nov 29 2023, 4:36 PM · MW-1.42-notes (1.42.0-wmf.10; 2023-12-19), MediaWiki-libs-Rdbms, API Platform
aaron created T352316: Clean up quoted component handling in code using isQuotedIdentifier() and qualifiedTableComponents().
Nov 29 2023, 4:29 PM · MW-1.42-notes (1.42.0-wmf.10; 2023-12-19), MediaWiki-libs-Rdbms, API Platform

Nov 18 2023

aaron updated the task description for T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements.
Nov 18 2023, 1:32 AM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms

Nov 17 2023

aaron updated the task description for T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements.
Nov 17 2023, 10:54 PM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms
aaron updated the task description for T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements.
Nov 17 2023, 10:45 PM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms
aaron updated the task description for T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements.
Nov 17 2023, 10:39 PM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms

Nov 16 2023

aaron added a comment to T210206: Deprecate raw SQL conditions for IDatabase methods (select, insert, etc.).

Re-reading the description and comments it seems to me that this task is more about addQuotes(), phan-taint, and a more fluent looking interface more so than eliminating raw SQL from code calling rdbms query methods. Is the idea to keep most of the build*() methods around? Currently, the $field arguments to Database::expr() allows raw SQL in $field. Is that intentional in the long run? If so, then buildMultiUpsertSetForOverwrite() can just use SUBSTR() in the $field argument. SelectQueryBuilder::fields() allows raw SQL fields and SelectQueryBuilder::where() allows raw SQL. On the other hand, SelectQueryBuilder::table() wants a query builder for computed/derived tables rather than a string from selectSQLText() or such.

Nov 16 2023, 2:38 AM · MW-1.42-notes (1.42.0-wmf.26; 2024-04-09), Patch-For-Review, DBA, API Platform, MediaWiki-libs-Rdbms

Nov 13 2023

aaron added a comment to T336004: Recognize 4th cache service interface in MediaWiki (Migrate ConfirmEdit tokens from MainStash to mcrouter-primary-dc).

Maybe SyncObjectStash is an OK name?

Nov 13 2023, 6:57 PM · MW-1.42-notes (1.42.0-wmf.14; 2024-01-16), MediaWiki-Platform-Team, ConfirmEdit (CAPTCHA extension), MediaWiki-libs-BagOStuff
Krinkle awarded T152851: TMH should not make DB writes on HTTP GET for its on-the-fly transcode corrections a Love token.
Nov 13 2023, 5:30 PM · MW-1.42-notes (1.42.0-wmf.4; 2023-11-07), Wikimedia-Performance-recommendation, Wikimedia-production-error, TimedMediaHandler

Nov 9 2023

aaron added a comment to T345185: Provide a method for internal services to run api requests for private wikis.

I mean that the job would never be enqueued into kafka, it would be executed by specifying the serialized job to RunSingleJobHandler, which runs it on the fly and returns a status code. If retries are enabled, it just changes the response status in some cases, but that endpoint itself does not try to re-enqueue the job (in this case a never-enqueued job). The Job class would decide what success/error info is propagated up to the JSON response. None of this would involve touching kafka. The stream updater would just be POSTing requests to the RunSingleJobHandler to "refresh this page" and reading the response.

Nov 9 2023, 10:26 PM · MW-1.42-notes (1.42.0-wmf.16; 2024-01-30), API Platform, serviceops, Discovery-Search (Current work), MediaWiki-Configuration, CirrusSearch
aaron added a comment to T336004: Recognize 4th cache service interface in MediaWiki (Migrate ConfirmEdit tokens from MainStash to mcrouter-primary-dc).

I feel like the current MainStash could equally or more so be called a WANObjectStash that a one that routes to a single datacenter. Essentially, the main stash now is one that must perform in multiple DCs, sacrificing more consistency in order to do so. It's tricky to come up with a good name though. Maybe:

  • ColocaleStash
  • OneRegionStash
  • LinearStash (e.g. best-effort tries to be linearizable for single-key operations)
Nov 9 2023, 8:37 PM · MW-1.42-notes (1.42.0-wmf.14; 2024-01-16), MediaWiki-Platform-Team, ConfirmEdit (CAPTCHA extension), MediaWiki-libs-BagOStuff
aaron updated subscribers of T347034: RESTBase /v1/related endpoint should call the MW action API with a GET not a POST.

It looks like the core MW ApiQuerySearch module does not require POST and the HTTP body parameter in the linked code don't seem like they would be too long, even 'gsrsearch' which is basically a just title AFAIK. So, this looks like it's a matter of changing the restbase call to GET and moving the body parameters to URL parameters. The larger work probably lies in setting up and testing restbase.

Nov 9 2023, 5:02 PM · API Platform, RESTBase Sunsetting, Essential-Work, Wikifeeds, Sustainability (Incident Followup), Discovery-Search
aaron moved T349761: Consider naming and usage conventions of new DatabaseVirtualDomains/VirtualDomainsMapping config from Incoming to Must do now on the API Platform board.
Nov 9 2023, 4:33 PM · API Platform, MediaWiki-Platform-Team (Radar), Documentation, DBA, MediaWiki-libs-Rdbms
aaron moved T210206: Deprecate raw SQL conditions for IDatabase methods (select, insert, etc.) from Incoming to Radar on the API Platform board.
Nov 9 2023, 4:32 PM · MW-1.42-notes (1.42.0-wmf.26; 2024-04-09), Patch-For-Review, DBA, API Platform, MediaWiki-libs-Rdbms
aaron moved T342301: Remove MediaWikiIntegrationTestCase::$tablesUsed in favour of automatic query tracking from Incoming to Could do Next on the API Platform board.
Nov 9 2023, 4:32 PM · MW-1.42-notes (1.42.0-wmf.7; 2023-11-28), API Platform, MW-1.41-notes (1.41.0-wmf.30; 2023-10-10), MediaWiki-Core-Tests
aaron moved T314908: MediaWiki database schemas should have a way to indicate the DB/cluster from Incoming to Must do now on the API Platform board.
Nov 9 2023, 4:32 PM · MW-1.42-notes (1.42.0-wmf.13; 2024-01-09 ), DBA, MediaWiki-Platform-Team (Radar), API Platform, Developer Productivity, MediaWiki-libs-Rdbms, MediaWiki-Installer, MediaWiki-Core-Tests
aaron moved T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements from Incoming to Should do next on the API Platform board.
Nov 9 2023, 4:31 PM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms
aaron added a comment to T345185: Provide a method for internal services to run api requests for private wikis.

If T246371 was done, then the stream updater could just make a request to run a serialized job (provided in the same request) for each page that needs updating. The job would do the backend work of prop=cirrusbuilddoc and also the search index updates. Though the job would have to be registered in $wgJobClasses, nothing would actually enqueue the jobs. The error/retry logic and ability to curtail concurrency would be controlled by the stream updater rather than the generic job runner logic. Would that avoid the job queue issues?

Nov 9 2023, 12:18 AM · MW-1.42-notes (1.42.0-wmf.16; 2024-01-30), API Platform, serviceops, Discovery-Search (Current work), MediaWiki-Configuration, CirrusSearch
aaron added a comment to T210206: Deprecate raw SQL conditions for IDatabase methods (select, insert, etc.).

@daniel @matmarex @Krinkle the LIKE expression implementation gave me an idea for cases of ipb_range_end = ipb_range_start in WHERE conditions and possibly join conditions. We could introduce a RawValue class and turn ipb_range_end = ipb_range_start into $dbr->expr('ipb_range_end', '=', RawValue( 'ipb_range_start' ) ) instead. It's not pretty but it's clearly not a common usecase. Thoughts?

Basically flipping the default of "raw SQL unless specified" to "quoted unless explicitly specified"

Nov 9 2023, 12:04 AM · MW-1.42-notes (1.42.0-wmf.26; 2024-04-09), Patch-For-Review, DBA, API Platform, MediaWiki-libs-Rdbms

Nov 8 2023

aaron awarded T133523: Decide how to improve parsercache replication, sharding and HA a Orange Medal token.
Nov 8 2023, 5:54 PM · SRE-Sprint-Week-Sustainability-March2023, MW-1.39-notes (1.39.0-wmf.22; 2022-07-25), Patch-For-Review, Epic, Sustainability (Incident Followup), DBA

Nov 7 2023

aaron added a comment to T345185: Provide a method for internal services to run api requests for private wikis.

I would maybe create a small authentication extension that uses PHP configuration to define a map of bearer token => (username, MWRestrictions, grants[]).

Nov 7 2023, 11:03 PM · MW-1.42-notes (1.42.0-wmf.16; 2024-01-30), API Platform, serviceops, Discovery-Search (Current work), MediaWiki-Configuration, CirrusSearch
aaron added a comment to T314908: MediaWiki database schemas should have a way to indicate the DB/cluster.

I don't think API Platform will take this up anytime soon, but I wouldn't mind helping with review.

Nov 7 2023, 3:52 AM · MW-1.42-notes (1.42.0-wmf.13; 2024-01-09 ), DBA, MediaWiki-Platform-Team (Radar), API Platform, Developer Productivity, MediaWiki-libs-Rdbms, MediaWiki-Installer, MediaWiki-Core-Tests

Nov 2 2023

aaron added a comment to T247552: ApiQueryTags reports core tags as 'extension' for the source.

CC'ing @Nikerabbit . The new messages can clone the old translations. I don't know the exact TWN process for that, but it should apply here.

@aaron In case you have to move a message from one repo to another repo translatewiki scripts can move the translations to the new repo and keep the translation history. No need to duplicate the translations.

In case a message will be kept in the old repo and added with another message key in another repo we do not have a script to duplicate translations. Please add the translations in the 2nd repo.

Add me as i18n reviewer in both cases. Thanks.

Nov 2 2023, 5:36 PM · MW-1.42-notes (1.42.0-wmf.3; 2023-10-31), User-DannyS712, MediaWiki-Action-API, MediaWiki-Change-tagging
aaron updated the task description for T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements.
Nov 2 2023, 1:46 AM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms
aaron created T350330: Improve query verb/flags handling in Query class for DROP/ALTER/CREATE statements.
Nov 2 2023, 1:42 AM · MW-1.43-notes (1.43.0-wmf.2; 2024-04-23), MW-1.42-notes (1.42.0-wmf.22; 2024-03-12), MW-Interfaces-Team, Patch-For-Review, API Platform, MediaWiki-libs-Rdbms

Nov 1 2023

aaron added a comment to T314908: MediaWiki database schemas should have a way to indicate the DB/cluster.
  • We add a prefix option to VirtualDomainsMapping (alongside cluster / db). The default configuration uses a prefix instead of a separate DB; small-scale MediaWiki users are encouraged to use prefixes instead of separate DBs for their wiki farms. Not sure if this would cause an issue with PHPUnit tests which use a custom DB prefix for the test database (but then PHPUnit can't be used to test cross-wiki features anyway).
Nov 1 2023, 12:39 AM · MW-1.42-notes (1.42.0-wmf.13; 2024-01-09 ), DBA, MediaWiki-Platform-Team (Radar), API Platform, Developer Productivity, MediaWiki-libs-Rdbms, MediaWiki-Installer, MediaWiki-Core-Tests
aaron added a comment to T349761: Consider naming and usage conventions of new DatabaseVirtualDomains/VirtualDomainsMapping config.

That said, as long as we go with a single prefix, virtual- is the logical one for database domains that are differentiated from normal DB domains by being virtual. I'd really like to consider what @aaron said in T330590#9260204, though - we'll need to somehow differentiate between virtual domains that are there to share tables between multiple wikis in a wiki farm and those which only exist as an idiosyncratic sharding mechanism. It could be done via documention, but using different prefixes for those two purposes seems like a nice way to do it.

Nov 1 2023, 12:19 AM · API Platform, MediaWiki-Platform-Team (Radar), Documentation, DBA, MediaWiki-libs-Rdbms

Oct 31 2023

aaron updated subscribers of T247552: ApiQueryTags reports core tags as 'extension' for the source.

CC'ing @Nikerabbit . The new messages can clone the old translations. I don't know the exact TWN process for that, but it should apply here.

Oct 31 2023, 10:17 PM · MW-1.42-notes (1.42.0-wmf.3; 2023-10-31), User-DannyS712, MediaWiki-Action-API, MediaWiki-Change-tagging
aaron updated the task description for T247552: ApiQueryTags reports core tags as 'extension' for the source.
Oct 31 2023, 10:15 PM · MW-1.42-notes (1.42.0-wmf.3; 2023-10-31), User-DannyS712, MediaWiki-Action-API, MediaWiki-Change-tagging
aaron added a comment to T349761: Consider naming and usage conventions of new DatabaseVirtualDomains/VirtualDomainsMapping config.

I think we should nail this down before things get backed into stable releases and compatibility is hard to break.

Oct 31 2023, 4:34 PM · API Platform, MediaWiki-Platform-Team (Radar), Documentation, DBA, MediaWiki-libs-Rdbms

Oct 30 2023

aaron closed T347633: Allow implicit user groups in the augroup and aurights parameters of the allusers API as Resolved.
Oct 30 2023, 3:22 PM · MW-1.42-notes (1.42.0-wmf.3; 2023-10-31), API Platform, MediaWiki-Action-API

Oct 27 2023

aaron claimed T247552: ApiQueryTags reports core tags as 'extension' for the source.
Oct 27 2023, 12:55 AM · MW-1.42-notes (1.42.0-wmf.3; 2023-10-31), User-DannyS712, MediaWiki-Action-API, MediaWiki-Change-tagging
aaron updated the task description for T247552: ApiQueryTags reports core tags as 'extension' for the source.
Oct 27 2023, 12:54 AM · MW-1.42-notes (1.42.0-wmf.3; 2023-10-31), User-DannyS712, MediaWiki-Action-API, MediaWiki-Change-tagging

Oct 25 2023

aaron claimed T345185: Provide a method for internal services to run api requests for private wikis.
Oct 25 2023, 5:09 PM · MW-1.42-notes (1.42.0-wmf.16; 2024-01-30), API Platform, serviceops, Discovery-Search (Current work), MediaWiki-Configuration, CirrusSearch
aaron renamed T345185: Provide a method for internal services to run api requests for private wikis from Provide a method for internal services to run api requests in a private context to Provide a method for internal services to run api requests for private wikis.
Oct 25 2023, 5:04 PM · MW-1.42-notes (1.42.0-wmf.16; 2024-01-30), API Platform, serviceops, Discovery-Search (Current work), MediaWiki-Configuration, CirrusSearch

Oct 24 2023

aaron added a project to T328872: Commons: UploadChunkFileException: Error storing file: backend-fail-internal; local-swift-codfw: API Platform.
Oct 24 2023, 4:38 PM · API Platform, MediaWiki-File-management, MW-1.41-notes (1.41.0-wmf.25; 2023-09-05), Unstewarded-production-error, MediaWiki-Uploading, Wikimedia-production-error, SRE-swift-storage, Commons

Oct 20 2023

aaron added a comment to T341007: An unknown error occurred in storage backend "local-swift-eqiad".

That sounds consistent with the operations failing in one data-center (the closest to the uploader) and then getting cleaned up by the periodic sync script.

Oct 20 2023, 4:47 PM · Unstewarded-production-error, MediaWiki-Uploading, SRE-swift-storage, Commons, Wikimedia-production-error

Oct 19 2023

aaron added a comment to T341007: An unknown error occurred in storage backend "local-swift-eqiad".

Am I experiencing the same problem?

I'm getting this error using the normal uploader at Special:Upload. After trying to upload, Special:Upload displays a red box saying "An unknown error occurred in storage backend "local-swift-eqiad"." and sometimes the uploaded file is replaced by the original file while the original file disappears.

I've compiled a gallery at https://commons.wikimedia.org/wiki/User:Beao/Images_with_upload_error

Oct 19 2023, 8:49 PM · Unstewarded-production-error, MediaWiki-Uploading, SRE-swift-storage, Commons, Wikimedia-production-error
aaron added a comment to T328872: Commons: UploadChunkFileException: Error storing file: backend-fail-internal; local-swift-codfw.

I wonder if the auth token just expired while the combined file was being uploaded (but after the PUT started). By the time the chunk deletions are issued, perhaps the token expired. AFAIK, the tokens should last for a day and MediaWiki app servers only reuse them for ~15 minutes (which used to be higher, but they seemed to expire too soon). It would be interesting to see the memcached stats for the token storage on the swift servers (maybe there is eviction pressure for some reason, like some service never reusing tokens and thus flooding memcached).

Oct 19 2023, 8:47 PM · API Platform, MediaWiki-File-management, MW-1.41-notes (1.41.0-wmf.25; 2023-09-05), Unstewarded-production-error, MediaWiki-Uploading, Wikimedia-production-error, SRE-swift-storage, Commons
aaron added a comment to T347633: Allow implicit user groups in the augroup and aurights parameters of the allusers API.

I'm noticing that GroupPermissionsLookup is poorly documented.

Oct 19 2023, 7:42 PM · MW-1.42-notes (1.42.0-wmf.3; 2023-10-31), API Platform, MediaWiki-Action-API

Oct 18 2023

aaron moved T347633: Allow implicit user groups in the augroup and aurights parameters of the allusers API from Incoming to Must do now on the API Platform board.
Oct 18 2023, 8:15 PM · MW-1.42-notes (1.42.0-wmf.3; 2023-10-31), API Platform, MediaWiki-Action-API
aaron triaged T347633: Allow implicit user groups in the augroup and aurights parameters of the allusers API as Low priority.
Oct 18 2023, 7:56 PM · MW-1.42-notes (1.42.0-wmf.3; 2023-10-31), API Platform, MediaWiki-Action-API
aaron placed T345703: ApiUsageException: Search request is longer than the maximum allowed length. (Actual: 523, allowed: 300, not counting fileres, filetype) up for grabs.
Oct 18 2023, 7:55 PM · Structured-Data-Backlog, SDAW-MediaSearch, Wikimedia-production-error