Page MenuHomePhabricator

Remove the ability to write pre-MCR fields, limit the ability to read pre-MCR fields to migration scripts
Open, NormalPublic

Description

Once all code has been ported to use the new MCR schema, B/C code for writing the legacy schema should be removed:

  • remove support for writing pre-MCR schema from RevisionStore, WikiPage, and related classes
  • move support for reading pre-MCR schema out of RevisionStore and friends, into code that is specific to the update process. We'll probably need to keep it there forever, but there is no reason to have it in the main code base.
  • remove $wgMultiContentRevisionSchemaMigrationStage variable. We should probably still have code that checks if that variable is set to something other than READ_NEW | WRITE_NEW. In that case, MediaWiki should fail with a meaningful error message, telling the wiki's owner to update the schema.

This requires the removal of all references to rev_text_id and ar_rev_id, and any other direct access to the legacy schema, in the code base (including extensions).

Related Objects

StatusAssignedTask
Declineddchen
OpenNone
OpenNone
DuplicateNone
OpenNone
ResolvedAbit
OpenNone
OpenNone
OpenNone
OpenNone
DuplicateNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolvedppelberg
ResolvedKrinkle
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
OpenNone
Resolveddaniel
ResolvedBPirkle

Event Timeline

daniel updated the task description. (Show Details)Jan 21 2019, 2:41 PM
daniel added a subscriber: BPirkle.Feb 8 2019, 4:17 PM

@BPirkle want to look into this? No need to drop other stuff if you are busy. This is just something that's coming up, and seems like something you could take on.

I'm happy to, but it appears that I cannot edit or claim the task.

I was, however, able to claim T198341. I'll start there.

I'm happy to, but it appears that I cannot edit or claim the task.

That's odd, there should not be any restrictions to that effect. @Aklapper can you have a look? Thanks!

Krinkle added a subscriber: Krinkle.Jun 8 2019, 8:58 PM

@daniel Given 1.33 has already been cut and scheduled to be released this month, is this something we should defer to the MW 1.34 milestone instead? Or do we have reason to backport it to 1.33 with limited testing? (Or perhaps has this already been resolved?)

Agree, this should be moved to 1.34.

Agree, this should be moved to 1.34.

Sadly, yes. This is very close to done, but didn't quite make it in.

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 Remove support for legacy pre-MCR schema to Remove support for writing to the pre-MCR schema.Aug 5 2019, 11:25 AM
daniel updated the task description. (Show Details)
Krinkle removed a subscriber: Krinkle.Aug 27 2019, 2:10 PM

Hey there, should this be moved to 1.35? The cut is a couple of weeks away? If it needs to go out in 1.34, is there anything I can do to help get it out of the door?

Hey there, should this be moved to 1.35? The cut is a couple of weeks away? If it needs to go out in 1.34, is there anything I can do to help get it out of the door?

Yes, removing the code can wait. We should default to "new schema only" in 1.34, but that's tracked in a separate ticket.

daniel renamed this task from Remove support for writing to the pre-MCR schema to Remove the ability to write pre-MCR fields, limit the ability to read pre-MCR fields to migration scripts.Sep 6 2019, 8:46 AM