Page MenuHomePhabricator

CtrlZvi (CtrlZvi)
User

Projects

User does not belong to any projects.

Today

  • Clear sailing ahead.

Tomorrow

  • Clear sailing ahead.

Wednesday

  • Clear sailing ahead.

User Details

User Since
Aug 6 2021, 6:35 AM (145 w, 2 d)
Availability
Available
LDAP User
CtrlZvi
MediaWiki User
Unknown

Recent Activity

Oct 5 2022

CtrlZvi added a comment to T318501: Changes that occur between sitelink and wikibase-addUsagesForPage do not get dispatched to the unsubscribed client.

More thinking outloud, I think there's an even easier solution. Subscribing is already a client-side action. So upon subscription, since the client knows that it may have missed changes between site link and subscription, we just invalidate the cache. That way, the next view will rerender and will pick up any missed changes. I'm working on testing this now, but there's some subtleties involved, and my understanding of how caching, refreshing links, subscriptions, changes, etc. all interact is still very new.

Oct 5 2022, 5:30 AM · Wikibase Suite Team, Wikidata Change Dispatching & Watchlists, Wikibase change dispatching scripts to jobs, Wikibase (3rd party installations)

Oct 3 2022

CtrlZvi added a comment to T318501: Changes that occur between sitelink and wikibase-addUsagesForPage do not get dispatched to the unsubscribed client.

Thinking out loud here, could we potentially add all pre-existing subscriptions for a client as a deferred action when the client is added instead of as a job? And do that before creating the DispatchChanges job?

Oct 3 2022, 2:31 AM · Wikibase Suite Team, Wikidata Change Dispatching & Watchlists, Wikibase change dispatching scripts to jobs, Wikibase (3rd party installations)

Sep 25 2022

CtrlZvi renamed T318501: Changes that occur between sitelink and wikibase-addUsagesForPage do not get dispatched to the unsubscribed client from Changes that occure between sitelink and wikibase-addUsagesForPage do not get dispatched to the unsubscribed client to Changes that occur between sitelink and wikibase-addUsagesForPage do not get dispatched to the unsubscribed client.
Sep 25 2022, 5:22 PM · Wikibase Suite Team, Wikidata Change Dispatching & Watchlists, Wikibase change dispatching scripts to jobs, Wikibase (3rd party installations)
CtrlZvi closed T233520: Wikidata changes do not get sent to client sites on initial sitelink addition (in some cases), leading to things such as missing page props in page_props table as Resolved.

Upon even more digging, my issue was similar, but actually subtly different. I've opened a separate issue (T318501) for it.

Sep 25 2022, 5:05 PM · Wikibase change dispatching scripts to jobs, User-Michael, Wikidata-Campsite (Team A Hearth 🏰🔥), Patch-For-Review, [DEPRECATED] wdwb-tech, MW-1.35-notes (1.35.0-wmf.22; 2020-03-03), Platform Engineering, User-Ladsgroup, User-Addshore, Commons, Wikidata
CtrlZvi added a comment to T318501: Changes that occur between sitelink and wikibase-addUsagesForPage do not get dispatched to the unsubscribed client.

This is likely another thing that could go wrong with dispatching a la T291063

Sep 25 2022, 5:04 PM · Wikibase Suite Team, Wikidata Change Dispatching & Watchlists, Wikibase change dispatching scripts to jobs, Wikibase (3rd party installations)
CtrlZvi created T318501: Changes that occur between sitelink and wikibase-addUsagesForPage do not get dispatched to the unsubscribed client.
Sep 25 2022, 5:03 PM · Wikibase Suite Team, Wikidata Change Dispatching & Watchlists, Wikibase change dispatching scripts to jobs, Wikibase (3rd party installations)

Sep 23 2022

CtrlZvi reopened T233520: Wikidata changes do not get sent to client sites on initial sitelink addition (in some cases), leading to things such as missing page props in page_props table as "Open".

Reopening because after digging further, I'm more convinced that my above analysis is correct.
tl;dr: There is a race condition between change dispatch and subscription creation that used to be resolvable via manual dispatch running in a loop but no longer has a resolution.

Sep 23 2022, 4:10 PM · Wikibase change dispatching scripts to jobs, User-Michael, Wikidata-Campsite (Team A Hearth 🏰🔥), Patch-For-Review, [DEPRECATED] wdwb-tech, MW-1.35-notes (1.35.0-wmf.22; 2020-03-03), Platform Engineering, User-Ladsgroup, User-Addshore, Commons, Wikidata
CtrlZvi added a comment to T233520: Wikidata changes do not get sent to client sites on initial sitelink addition (in some cases), leading to things such as missing page props in page_props table.

For more information, I think I'm encountering a race condition between making changes and adding the subscription. If the recent change is processed before the refreshLinks job runs, then there is no new recent change processing to trigger dispatch when the refreshLinks job creates the sitelink/subscription.

Sep 23 2022, 3:36 PM · Wikibase change dispatching scripts to jobs, User-Michael, Wikidata-Campsite (Team A Hearth 🏰🔥), Patch-For-Review, [DEPRECATED] wdwb-tech, MW-1.35-notes (1.35.0-wmf.22; 2020-03-03), Platform Engineering, User-Ladsgroup, User-Addshore, Commons, Wikidata
CtrlZvi added a comment to T233520: Wikidata changes do not get sent to client sites on initial sitelink addition (in some cases), leading to things such as missing page props in page_props table.

@Michael I am running Wikibase REL1_38 (from source, commit 33c2c9226c) and am still seeing what I believe is this issue.

Sep 23 2022, 3:10 PM · Wikibase change dispatching scripts to jobs, User-Michael, Wikidata-Campsite (Team A Hearth 🏰🔥), Patch-For-Review, [DEPRECATED] wdwb-tech, MW-1.35-notes (1.35.0-wmf.22; 2020-03-03), Platform Engineering, User-Ladsgroup, User-Addshore, Commons, Wikidata

Aug 30 2022

CtrlZvi added a comment to T316487: Wikibase cannot save properties on SQLite with PHP 8.1.

I wonder if there's benefit in migrating the MySQL and PostgreSQL implementations to PDO? That would probably resolve the issue where they return strings and unify behavior. I suspect it might be at the expense of performance, though?

Aug 30 2022, 4:12 AM · MW-1.39-notes (1.39.0-wmf.28; 2022-09-05), Performance-Team, MediaWiki-libs-Rdbms, Wikidata, Wikibase (3rd party installations), SQLite, PHP 8.1 support, [DEPRECATED] wdwb-tech
CtrlZvi added a comment to T316487: Wikibase cannot save properties on SQLite with PHP 8.1.

I agree 100% with using the not being coupled to strings and using the native integer types. It seems like a positive change for a whole host of reasons. But that's a much larger change in a system I don't have experience in, and my experiments with trying to support both the strings returned by MySQL and PostgreSQL and the integers returned by SQLite were not successful.

Aug 30 2022, 4:09 AM · MW-1.39-notes (1.39.0-wmf.28; 2022-09-05), Performance-Team, MediaWiki-libs-Rdbms, Wikidata, Wikibase (3rd party installations), SQLite, PHP 8.1 support, [DEPRECATED] wdwb-tech

Aug 29 2022

CtrlZvi added a project to T316487: Wikibase cannot save properties on SQLite with PHP 8.1: MediaWiki-libs-Rdbms.

Although discovered with Wikibase, this is not actually a Wikibase issue. PHP 8.1 introduces a breaking change into the SqliteResultWrapper. Leaving the Wikibase tags for now in case there's a local workaround that's preferred, but I think I now have an idea of how to fix this at the core level and hope to have a patch soon.

Aug 29 2022, 2:52 AM · MW-1.39-notes (1.39.0-wmf.28; 2022-09-05), Performance-Team, MediaWiki-libs-Rdbms, Wikidata, Wikibase (3rd party installations), SQLite, PHP 8.1 support, [DEPRECATED] wdwb-tech
CtrlZvi added a comment to T316487: Wikibase cannot save properties on SQLite with PHP 8.1.

Digging a bit more, the type mismatch comes from loading the wbt_type table into the cache using the NameTableStore::loadTable() function. This function stores the returned values into an associative array by their key, and although PostgreSQL, MySQL, and SQLite prior to PHP 8.1 returned the ids as strings, the use of them as keys in the associate array results in them being cast to int. This is almost certainly why DatabaseTermInLangIdsAcquirer::acquireTermInLangIdsInner was casting back to a string.

Aug 29 2022, 1:41 AM · MW-1.39-notes (1.39.0-wmf.28; 2022-09-05), Performance-Team, MediaWiki-libs-Rdbms, Wikidata, Wikibase (3rd party installations), SQLite, PHP 8.1 support, [DEPRECATED] wdwb-tech

Aug 28 2022

CtrlZvi created T316487: Wikibase cannot save properties on SQLite with PHP 8.1.
Aug 28 2022, 9:47 PM · MW-1.39-notes (1.39.0-wmf.28; 2022-09-05), Performance-Team, MediaWiki-libs-Rdbms, Wikidata, Wikibase (3rd party installations), SQLite, PHP 8.1 support, [DEPRECATED] wdwb-tech

Aug 23 2022

CtrlZvi added a comment to T278511: Make Postgres tests a voting CI job in gate-submit.

GeoData was not fixed with https://gerrit.wikimedia.org/r/c/mediawiki/extensions/GeoData/+/805460. While support was added in the schema, GeoData has a bug preventing insertion of data into the geo_tags table.

Aug 23 2022, 4:57 PM · PostgreSQL, Wikidata

Mar 9 2022

CtrlZvi added a comment to T278510: Make SqlChangeDispatchCoordinator more db-agnostic.

I have a local change that removes the CAST in favor of more portable syntax, but it does not solve the table prefix issue. I haven't had time to look into replacing this with something truly portable yet. Would the CAST removal be potentially welcome as an intermediate patch? Or should I wait to submit a patch until I have something that replaces the semi-hardcoded $where with something more portable?

Mar 9 2022, 7:42 AM · Wikidata

Mar 8 2022

CtrlZvi added a comment to T303099: Changes from all revisions have metadata overridden with data from the first change..

Sure. I have a personal wiki I'm running (currently MW 1.37.1) with some custom extensions. One of these extensions is one I'm developing that will automatically geocode an address (stored in a property on an item) and store the resulting coordinates (into a different property on the same item). This (currently) runs as a deferred update triggered by saving the item with a change to the address property. The process is triggered by the onWikibaseChangeNotification hook which adds the deferred update to do the geocoding then returns.

Mar 8 2022, 2:43 AM · Wikibase (3rd party installations), Wikibase Suite Team, Wikidata Change Dispatching & Watchlists, Patch-For-Review, Wikidata, Wikibase change dispatching scripts to jobs

Mar 5 2022

CtrlZvi updated the task description for T303099: Changes from all revisions have metadata overridden with data from the first change..
Mar 5 2022, 12:33 PM · Wikibase (3rd party installations), Wikibase Suite Team, Wikidata Change Dispatching & Watchlists, Patch-For-Review, Wikidata, Wikibase change dispatching scripts to jobs
CtrlZvi created T303099: Changes from all revisions have metadata overridden with data from the first change..
Mar 5 2022, 12:31 PM · Wikibase (3rd party installations), Wikibase Suite Team, Wikidata Change Dispatching & Watchlists, Patch-For-Review, Wikidata, Wikibase change dispatching scripts to jobs

Aug 29 2021

CtrlZvi updated the task description for T289838: Wikibase Geographic coordinate changes may not propagate to GeoData database table.
Aug 29 2021, 1:58 AM · Wikibase Suite Team, Wikidata, Discovery-Search, MediaWiki-extensions-WikibaseClient, Wikibase (3rd party installations), MediaWiki-Core-JobQueue, GeoData

Aug 27 2021

CtrlZvi updated the task description for T289838: Wikibase Geographic coordinate changes may not propagate to GeoData database table.
Aug 27 2021, 8:15 AM · Wikibase Suite Team, Wikidata, Discovery-Search, MediaWiki-extensions-WikibaseClient, Wikibase (3rd party installations), MediaWiki-Core-JobQueue, GeoData
CtrlZvi created T289838: Wikibase Geographic coordinate changes may not propagate to GeoData database table.
Aug 27 2021, 8:14 AM · Wikibase Suite Team, Wikidata, Discovery-Search, MediaWiki-extensions-WikibaseClient, Wikibase (3rd party installations), MediaWiki-Core-JobQueue, GeoData
Restricted Application added a project to T155926: Use OSM/Wikidata data for Special:Nearby: Discovery-Search.
Aug 27 2021, 8:09 AM · Discovery-Search, Wikidata, GeoData
Restricted Application added a project to T114092: Add tests for GeoData hooks handling: Discovery-Search.
Aug 27 2021, 8:01 AM · Discovery-Search, Wikidata, GeoData

Aug 23 2021

CtrlZvi created T289448: Double assignment to ParserOutput->mExtensionData.
Aug 23 2021, 4:22 AM · MediaWiki-Parser

Aug 22 2021

CtrlZvi added a project to T289332: Importing a Wikibase entity via XML breaks creating new entites: MediaWiki-extensions-WikibaseRepository.
Aug 22 2021, 8:56 AM · Wikibase Suite Team, Patch-Needs-Improvement, [DEPRECATED] wdwb-tech, Wikidata, MediaWiki-extensions-WikibaseRepository, Wikibase (3rd party installations)

Aug 20 2021

CtrlZvi claimed T289332: Importing a Wikibase entity via XML breaks creating new entites.
Aug 20 2021, 7:13 AM · Wikibase Suite Team, Patch-Needs-Improvement, [DEPRECATED] wdwb-tech, Wikidata, MediaWiki-extensions-WikibaseRepository, Wikibase (3rd party installations)
CtrlZvi added a comment to T289332: Importing a Wikibase entity via XML breaks creating new entites.

Alternate idea, instead of using the AfterImportPage hook, I could just extend the already used onImportHandleRevisionXMLTag hook.

Aug 20 2021, 6:18 AM · Wikibase Suite Team, Patch-Needs-Improvement, [DEPRECATED] wdwb-tech, Wikidata, MediaWiki-extensions-WikibaseRepository, Wikibase (3rd party installations)
CtrlZvi added a comment to T289332: Importing a Wikibase entity via XML breaks creating new entites.

I locally have a solution using the AfterImportPage hook to compare the highest recorded id in wb_id_counters for the imported entity type to the imported entity id. If the imported id is higher, it writes the imported id to the wb_id_counters table. I'm not sure this is the best solution, though, for a few reasons:

  1. If something goes wrong page import, but some of the revisions were successfully imported, then it doesn't solve the problem as the AfterPageImport hook won't be called.
  2. It requires reading from (and possibly writing to) the database an extra time for every page import, slowing down the import process, which is already a concern (see T287164: Improve bulk import via API)
  3. It adds a second hook to the import process (somehow it feels like more hooks for one task is less good than fewer hooks for one task)
Aug 20 2021, 5:30 AM · Wikibase Suite Team, Patch-Needs-Improvement, [DEPRECATED] wdwb-tech, Wikidata, MediaWiki-extensions-WikibaseRepository, Wikibase (3rd party installations)
CtrlZvi created T289332: Importing a Wikibase entity via XML breaks creating new entites.
Aug 20 2021, 5:09 AM · Wikibase Suite Team, Patch-Needs-Improvement, [DEPRECATED] wdwb-tech, Wikidata, MediaWiki-extensions-WikibaseRepository, Wikibase (3rd party installations)