Page MenuHomePhabricator

MCR schema migration stage 3: stop using legacy fields
Closed, ResolvedPublic

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

StatusSubtypeAssignedTask
StalledNone
StalledNone
OpenNone
ResolvedNone
ResolvedZabe
ResolvedNone
ResolvedNone
Resolvedtstarling
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
ResolvedAnomie
Resolveddaniel
ResolvedAnomie
ResolvedAnomie
Resolved Marostegui
ResolvedAnomie
Resolvedtstarling
ResolvedAnomie
ResolvedAnomie
Resolveddaniel
Resolveddaniel
ResolvedAnomie
ResolvedAnomie
Resolveddaniel
Resolveddaniel
Resolveddaniel
Resolveddaniel
ResolvedBPirkle

Event Timeline

daniel triaged this task as Medium priority.Dec 21 2017, 6:37 PM
daniel created this task.

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?

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.

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
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)