Hello,
tl;dr
The performer field on events in the mediawiki.page_change.v1 https://stream.wikimedia.org/?doc#/streams/get_v2_stream_mediawiki_page_change_v1 stream is no longer required. It will be omitted in certain cases.
If you have any code that expects the performer field to be present, please adapt accordingly.
---
Last fall, the Wikimedia Data Engineering team fixed a bug https://phabricator.wikimedia.org/T342487 in the mediawiki.page_change.v1 (and other) streams. Since that fix, the performer field will be omitted in events for which a wiki admin is doing a RevisionDelete https://www.mediawiki.org/wiki/Help:RevisionDelete with suppression.
This bug fix was not properly applied to the mediawiki/page/change https://schema.wikimedia.org/#!//primary/jsonschema/mediawiki/page/change event schema, causing validation errors for these cases https://phabricator.wikimedia.org/T367923.
Since mid November 2023, mediawiki.page_change.v1 events caused by admin using ‘revision suppression’ have been dropped.
We did not notice these errors, as the mediawiki.page_change.v1 stream only contains RevisionDelete (AKA “revision visibility”) related changes if those changes are made to the current revision of a page. Using RevisionDelete on the current revision of a page is usually rare. This recently began happening more often on certain wikis, so we noticed.
To work around the validation errors, we have made the performer field optional in the mediawiki/page/change https://gerrit.wikimedia.org/r/c/schemas/event/primary/+/1047549 schema.
If you have any questions or issues, please create a Phabricator https://phabricator.wikimedia.org/ ticket and tag Data-Engineering.
Thank you,
Andrew Otto
Wikimedia Data Engineering
wikitech-l@lists.wikimedia.org