Directory

⚓ T354459 [Epic] Support conditional defaults for user properties to help address user_properties table bloat
Page MenuHomePhabricator

[Epic] Support conditional defaults for user properties to help address user_properties table bloat
Closed, ResolvedPublic

Description

This Epic is meant to cover Growth team work related to T54777: user_properties table bloat.

In short, several extensions are setting user options from LocalUserCreated to provide users with different defaults based on their user type and time of registration (see more detailed list in Option 1). This has lead to accumulate millions of rows in the user_properties table and it will keep growing for every new registered user until we implement a solution for it.

On enwiki, the user_properties table has about 60M rows, for only 20M users. This is incredible considering that user_properties is meant to only store non-default options, to reduce DB space. The index length is about 2.2 GB, and the data size is about 3.7GB.

User story & summary:

As a Wikimedian, I want user_properties data to be sustainable and scalable, because all account holders depend on user_properties data.

Background & research:

This task is important and time sensitive because this issue is in production and it will likely start causing DB malfunctioning in the wikis with the most registered users.

Related Objects

StatusSubtypeAssignedTask
ResolvedNone
ResolvedKStoller-WMF
OpenNone
ResolvedUrbanecm_WMF
ResolvedUrbanecm_WMF
ResolvedUrbanecm_WMF
DeclinedSgs
ResolvedUrbanecm_WMF
ResolvedUrbanecm_WMF
ResolvedUrbanecm_WMF
ResolvedUrbanecm_WMF
ResolvedUrbanecm_WMF
ResolvedBUG REPORTUrbanecm_WMF
ResolvedBUG REPORTUrbanecm_WMF
OpenSpikeNone
ResolvedUrbanecm_WMF
ResolvedUrbanecm_WMF
OpenLadsgroup

Event Timeline

KStoller-WMF renamed this task from [Epic] Support conditional defaults for user properties to address user_properties table bloat to [Epic] Support conditional defaults for user properties to help address user_properties table bloat.Jan 5 2024, 10:58 PM

This is now done from Growth's perspective; DBAs will handle dropping the old rows (T357072).

Urbanecm_WMF claimed this task.