Page MenuHomePhabricator

Edits to Flow pages result in a page-links-change event with no performer
Open, LowPublic

Description

I noticed an error in my testing code where some events had no performer information in the data. It appears that the common thread is Flow (StructuredDiscussions) edits. These events don't appear to carry any other data about who made the edit triggering the event in lieu of performer.

None of our use cases are likely to be strongly impacted by this, and perhaps this is unavoidable with the way that Flow is set up, but making sure this is noted.

Here's an example:

{'added_links': [{'external': False, 'link': '/wiki/Wikip%25C3%25A9dia:Citez_vos_sources'}], 'database': 'frwiki', 'meta': {'domain': 'fr.wikipedia.org', 'dt': '2019-02-21T15:07:39+00:00', 'id': '6daa3566-35ea-11e9-9465-141877614a33', 'request_id': 'cc6416ca-cca5-4264-8eba-d995a2f75a7c', 'schema_uri': 'mediawiki/page/links-change/1', 'topic': 'eqiad.mediawiki.page-links-change', 'uri': 'https://fr.wikipedia.org/wiki/Sujet:Uumkuv2oxfcp7740', 'partition': 0, 'offset': 8066818}, 'page_id': 12391241, 'page_is_redirect': False, 'page_namespace': 2600, 'page_title': 'Sujet:Uumkuv2oxfcp7740', 'rev_id': 156928812}

For comparison, here's an event with performer:

{"added_links":[{"external":false,"link":"/wiki/Shirou_Emiya"},{"external":false,"link":"/wiki/Steep_(video_game)"},{"external":false,"link":"/wiki/Talk:Steep_(video_game)/GA1"},{"external":false,"link":"/wiki/Wikipedia:Peer_review/Shirou_Emiya/archive1"}],"database":"enwiki","meta":{"domain":"en.wikipedia.org","dt":"2019-02-21T16:40:24+00:00","id":"62a9cc32-35f7-11e9-b0e4-1866da993d2e","request_id":"XG64vwpAEDYAACGE8lYAAAAJ","schema_uri":"mediawiki/page/links-change/1","topic":"eqiad.mediawiki.page-links-change","uri":"https://en.wikipedia.org/wiki/Talk:GeForce_4_series","partition":0,"offset":8125769},"page_id":2449960,"page_is_redirect":false,"page_namespace":1,"page_title":"Talk:GeForce_4_series","performer":{"user_edit_count":15232,"user_groups":["autoreviewer","extendedconfirmed","reviewer","rollbacker","*","user","autoconfirmed"],"user_id":863426,"user_is_bot":false,"user_registration_dt":"2006-01-31T13:32:53Z","user_text":"UKER"},"rev_id":607168103}

Event Timeline

@Samwalton9 can you share a specific example? It would help in debugging the issue. Thanks!

{'added_links': [{'external': False, 'link': '/wiki/Wikip%25C3%25A9dia:Citez_vos_sources'}], 'database': 'frwiki', 'meta': {'domain': 'fr.wikipedia.org', 'dt': '2019-02-21T15:07:39+00:00', 'id': '6daa3566-35ea-11e9-9465-141877614a33', 'request_id': 'cc6416ca-cca5-4264-8eba-d995a2f75a7c', 'schema_uri': 'mediawiki/page/links-change/1', 'topic': 'eqiad.mediawiki.page-links-change', 'uri': 'https://fr.wikipedia.org/wiki/Sujet:Uumkuv2oxfcp7740', 'partition': 0, 'offset': 8066818}, 'page_id': 12391241, 'page_is_redirect': False, 'page_namespace': 2600, 'page_title': 'Sujet:Uumkuv2oxfcp7740', 'rev_id': 156928812}

So here's the page in question: https://fr.wikipedia.org/wiki/Sujet:Uumkuv2oxfcp7740?oldid=156928812&uselang=en. I think this is happening because the user page for the user "Mathilde Charmant" doesn't exist. Since the user is not anonymous, the "performer" field should be populated. Even for logged out users, this field should be populated. Since the issue affects all event streams, I think this is an upstream bug. What do you think @Pchelolo?

I'm not sure how Flow works internally, which hooks are called and why doesn't it set a user, better to ask Community-Tech ?

The wiki page doesn't seem to say who maintains the extension. But I'm adding their tag to the task.

@Samwalton9 we may need to find someone specific who maintains this extension. Can you help?

Thanks. Wasn't Growth dismantled at some point? Apparently, it's back!

At some point someone should review https://gerrit.wikimedia.org/r/#/c/mediawiki/extensions/SpamBlacklist/+/492039/ to remove the EL instrumentation from poor SpamBlacklist, which was really just an innocent bystander in all of this.

Perhaps @kaldari or @Krenair could take a look? They appear to have reviewed the original patch.

No bandwidth to work on this task.

Restricted Application edited projects, added Analytics; removed Analytics-Radar. · View Herald TranscriptJun 10 2020, 6:33 AM
Restricted Application edited projects, added Analytics; removed Analytics-Radar. · View Herald TranscriptJun 10 2020, 6:36 AM
Krinkle subscribed.

Instrumentation for the mediawiki.page-links-change event lives in the EventBus extension, not WikimediaEvents.

HouseBlaster subscribed.

I don't see why The-Wikipedia-Library is tagged here, so I have removed it. (Please undo if there is an actual reason!)

I don't see why The-Wikipedia-Library is tagged here, so I have removed it. (Please undo if there is an actual reason!)

We were interested in this ticket because it causes bugs for Wikilink-Tool, but I've just added that project directly instead.