Page MenuHomePhabricator

MCR schema migration stage 3: stop using legacy fields
Open, NormalPublic

Description

  • Set MediaWiki to read content meta-data from the new content table.
  • Set MediaWiki to not populate the ar_text and ar_flags fields. (this has been the case since MW 1.5)
  • Watch for performance issues caused by adding a level of indirection (a JOIN) to revision loads.
  • Set MediaWiki to insert content meta-data ONLY into the new columns in the content table. (To allow this, the old columns must have a DEFAULT).
  • Enable MCR support in the API and UI (as far as implemented).

This enables, but does not require: Drop the redundant columns from the page, revision, and archive tables, see Removing Redundant Information above. Schema changes desired for revision storage optimization may be applied at the same time.

See also: https://www.mediawiki.org/wiki/Multi-Content_Revisions/Content_Meta-Data#Phase_III:_Finalize

Related Objects

StatusAssignedTask
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedtstarling
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
Resolveddaniel
ResolvedAnomie
ResolvedAnomie
ResolvedMarostegui
ResolvedAnomie
Resolvedtstarling
ResolvedAnomie
OpenNone
Opendaniel
Resolveddaniel
ResolvedAnomie
ResolvedAnomie
Resolveddaniel
Resolveddaniel
Resolveddaniel
ResolvedBPirkle
OpenNone

Event Timeline

daniel triaged this task as Normal priority.Dec 21 2017, 6:37 PM
daniel created this task.
Tgr added a subscriber: Tgr.Apr 7 2018, 10:16 PM

The task description for this and T183488 says set to MIGRATION_WRITE_BOTH, run script to populate new tables, set MIGRATION_WRITE_NEW when finished. But the documentation of those constants seems to say that migration scripts should be run after setting MIGRATION_WRITE_NEW. Which is correct?

Anomie added a comment.Apr 9 2018, 2:28 PM

To some extent that depends on what exactly the migration script does.

If it looks primarily for rows without new data and doesn't delete the old data, it could run for WRITE_BOTH and the WRITE_NEW stage may not even be needed.

If the maintenance script looks primarily for rows with old data or deletes the old data after migrating it, then it should wait for WRITE_NEW so new old-data isn't being created.

Anomie updated the task description. (Show Details)Apr 9 2018, 2:29 PM
Lydia_Pintscher moved this task from incoming to monitoring on the Wikidata board.Apr 23 2018, 7:28 AM

Change 439976 had a related patch set uploaded (by Daniel Kinzler; owner: Daniel Kinzler):
[mediawiki/core@master] Remove direct access to the text table.

https://gerrit.wikimedia.org/r/439976

daniel renamed this task from MCR schema migration stage 3: drop support for legacy fields to MCR schema migration stage 3: drop support for legacy fields (wmf production).Jul 1 2018, 12:09 PM
awight removed a subscriber: awight.Mar 21 2019, 4:02 PM
WDoranWMF moved this task from MCR to mop on the Core Platform Team board.Jul 26 2019, 6:39 PM
daniel renamed this task from MCR schema migration stage 3: drop support for legacy fields (wmf production) to MCR schema migration stage 3: stop using legacy fields.Aug 27 2019, 1:06 PM
daniel updated the task description. (Show Details)