Page MenuHomePhabricator

Emit comprehensive mediawiki user block change information in an event stream
Open, Needs TriagePublic

Description

T424350: Incremental MediaWiki History Phase I needs user block change information.

User block changes have been emitted as an event stream since at least 2015. The existent stream today is the mediawiki.user-blocks-change stream. This stream may provide some (all?) of the information that is currently captured in mediawiki_history, but much about user blocks has evolved since 2015 (GlobalBlocks are now a thing). Additionally, mediawiki.user-blocks-change is a 'legacy' stream, in that it does not use the MediaWiki state change event data models we developed as part of substasks of T291120.

It might be nice to include user blocks changes within a new mediawiki.user_change stream being created in T423952. However, it is not clear if user blocks should be modeled as part of that core user state change stream, or if it should remain a separate block specific stream.

Done is

Related Objects

Event Timeline

I don't think this task blocks any immediate work for T424350: Incremental MediaWiki History Phase I, as that can probably use the mediawiki.user-blocks-change stream for now. Although, I'm not sure what is in the MWH user_blocks_historical field. Does mediawiki.user-blocks-change have the same info?

In either case, according to the Incremental MWH field venn-diagram, user block info isn't needed for T418032: Weekly delivery cadence of core contributor metrics. So, we can first focus on the other improvements described in T423935: Incremental MWH - MediaWiki event data source improvements and come back to user blocks later.

according to the Incremental MWH field venn-diagram, user block info isn't needed for T418032: Weekly delivery cadence of core contributor metrics

I discussed this with @CMyrick-WMF. It isn't clear from the venn-diagram, but what she needs is event_user_* fields when user blocks happen. They are computing metrics about the admin users modifying user blocks, not metrics about the blocks on the target users.

Ideally, we would do T424685: Emit comprehensive mediawiki user block change information in an event stream as the source for this. But, we don't have that now and we have some open questions on how exactly we want to do it.

For Phase 1, I think we can get the performer (event_user_) block info from event.mediawiki_user_blocks_change.

For Phase 1, I think we can get the performer (event_user_) block info from event.mediawiki_user_blocks_change.

...we are running out of time for Phase 1.

@CMyrick-WMF, for Phase 1 MWH incremental, would it be okay to not include user block events in MWH Incremental? We are running out of time to complete Phase 1.

Could you get the data you need for your metrics from the event.mediawiki_user_blocks change Hive table? This is an old legacy stream we want to decommission one day, so while it has performer, but it does not have user_central_id. If you need user_central_id you can join with MWH or MediaWiki centralauth tables?

@CMyrick-WMF, for Phase 1 MWH incremental, would it be okay to not include user block events in MWH Incremental?

Could you get the data you need for your metrics from the event.mediawiki_user_blocks change Hive table? This is an old legacy stream we want to decommission one day, so while it has performer, but it does not have user_central_id. If you need user_central_id you can join with MWH or MediaWiki centralauth tables?

@Ottomata Yes, no problem. Yes, I can use other tables to get the data I need.