Page MenuHomePhabricator

Remove HHVM and PHP7 revision tags
Open, MediumPublic

Description

We're not tracking edits per engine anymore, and all such information already stored has lost any usefulness. By deleting the tags, we would reduce database size and decrease visual noise everywhere these tags appear.

Details

Reference
bz73181
Related Gerrit Patches:
mediawiki/extensions/WikimediaEvents : masterRemove messages for HHVM and php7 tags
mediawiki/core : masterchangetags: Change new canDeleteTag() boolean param to int flag
mediawiki/extensions/WikimediaEvents : masterDeregister php7 and HHVM tags
mediawiki/extensions/WikimediaMaintenance : masterAdd maintenance script to remove HHVM revision tag
mediawiki/core : masterAdd a maintenance script to delete a change tag

Event Timeline

bzimport raised the priority of this task from to Needs Triage.Nov 22 2014, 3:59 AM
bzimport set Reference to bz73181.
bzimport added a subscriber: Unknown Object (MLST).
MZMcBride created this task.Nov 8 2014, 5:26 PM

The "Faster servers with HHVM" checkbox at https://test.wikipedia.org/wiki/Special:Preferences#mw-prefsection-betafeatures is unchecked. I guess I'm being opted in at a higher level.

ori added a comment.Nov 8 2014, 6:47 PM

(In reply to MZMcBride from comment #1)

I guess I'm being opted in at a higher level.

Not exactly. testwiki is a special case: it is served by a single host on the cluster, mw1017. So unlike other wikis, it cannot be served using either HHVM or Zend: it's one or the other. We converted testwiki to HHVM early on (for obvious reasons), so all edits are tagged.

(In reply to MZMcBride from comment #0)

My edits are being marked with HHVM revision tags. This is gross. It's a
very internal implementation detail that's being permanently attached to my
edits and I'm pretty sure I never even opted in.

Not permanently: I've indicated elsewhere that the tag will be expunged once the migration is complete. We can keep this bug open as a way of tracking that commitment.

I agree that it is ugly and bothersome. The tag was initially added at Mark Bergsma's request as a precaution, to help us clean up if we discover that HHVM is mangling edits somehow. We're also using it to investigate whether the improved response times correlate with increased productivity for new users, as documented https://meta.wikimedia.org/wiki/Research:HHVM_newcomer_engagement_experiment.

gerritadmin wrote:

Change 172097 had a related patch set uploaded by Ori.livneh:
Hide HHVM tag on Special:{Contributions,RecentChanges,...}

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

(In reply to Gerrit Notification Bot from comment #3)

Change 172097 had a related patch set uploaded by Ori.livneh:
Hide HHVM tag on Special:{Contributions,RecentChanges,...}
https://gerrit.wikimedia.org/r/172097

That's reasonable enough given Ori's comments, but personally I think there isn't any urgency.

gerritadmin wrote:

Change 172294 had a related patch set uploaded by Ori.livneh:
Hide HHVM tag on Special:{Contributions,RecentChanges,...}

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

gerritadmin wrote:

Change 172295 had a related patch set uploaded by Ori.livneh:
Hide HHVM tag on Special:{Contributions,RecentChanges,...}

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

gerritadmin wrote:

Change 172097 merged by jenkins-bot:
Hide HHVM tag on Special:{Contributions,RecentChanges,...}

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

gerritadmin wrote:

Change 172294 merged by jenkins-bot:
Hide HHVM tag on Special:{Contributions,RecentChanges,...}

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

gerritadmin wrote:

Change 172295 merged by jenkins-bot:
Hide HHVM tag on Special:{Contributions,RecentChanges,...}

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

All patches mentioned in this report were merged - is there more work left to do here (if yes: please reset the bug report status to NEW or ASSIGNED), or can you close this ticket as RESOLVED FIXED?

hashar set Security to None.

Next step is presumably to drop to tag, once it's implicit?

Aklapper triaged this task as Medium priority.Dec 15 2014, 6:14 PM
Se4598 added a subscriber: Se4598.Dec 27 2014, 7:29 PM
TTO added a subscriber: TTO.Feb 20 2015, 9:02 AM

DELETE FROM change_tag WHERE ct_tag = "HHVM";

That's easy enough, but it also needs to be removed from tag_summary, which will require a maintenance script of some sort. Essentially just copy and paste the code of ChangeTags::deleteTagEverywhere and alter it to work in batches.

Do we want to just do this at some point? Randomly or scheduled?

Legoktm claimed this task.Apr 7 2015, 6:36 PM

Change 203970 had a related patch set uploaded (by Legoktm):
Add maintenance script to remove HHVM revision tag

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

@ori can (and is willing to) do the review and merge of https://gerrit.wikimedia.org/r/203970. We should be able to resolve this task in June.

Restricted Application added a subscriber: Luke081515. · View Herald TranscriptAug 23 2015, 2:55 PM
TTO added a comment.Jan 20 2017, 6:59 AM

We should be able to resolve this task in June [2015].

Is @ori still willing to take this on?

Krinkle added a subscriber: Krinkle.Apr 9 2018, 8:20 PM
In T75181#1052495, @TTO wrote:

DELETE FROM change_tag WHERE ct_tag = "HHVM";
That's easy enough, but it also needs to be removed from tag_summary, which will require a maintenance script of some sort. Essentially just copy and paste the code of ChangeTags::deleteTagEverywhere and alter it to work in batches.

The tag_summary table is no more (T212255) – if we still want to do this, then I think thanks to @Ladsgroup’s change_tag improvements (T185355) it would only need two SQL statements:

DELETE FROM change_tag WHERE ct_tag_id = (SELECT ctd_id FROM change_tag_def WHERE ctd_name = "HHVM");
DELETE FROM change_tag_def WHERE ctd_name = "HHVM";

(Another benefit of the normalization is that it’s fairly cheap to count all the rows affected by the first statement – 2.3 million on enwiki. I don’t know how long it would take to drop those rows, though.)

In T75181#1052495, @TTO wrote:

DELETE FROM change_tag WHERE ct_tag = "HHVM";
That's easy enough, but it also needs to be removed from tag_summary, which will require a maintenance script of some sort. Essentially just copy and paste the code of ChangeTags::deleteTagEverywhere and alter it to work in batches.

This simple innocent queries would make the whole enwiki go read-only for at least an hour. This should be done as a maintenance script. I don't like having a dedicated maintenance script just to remove hhvm but it can take name of the tag as an argument and act on it (maybe later we want to remove php7 tag) but I don't have time to improve the maintenance script. If anyone willing to work on it, I can review, merge and run it though.

Krinkle removed a subscriber: Krinkle.Aug 7 2019, 2:29 PM
Krinkle removed a subscriber: wikibugs-l-list.

Change 203970 had a related patch set uploaded (by Legoktm):
Add maintenance script to remove HHVM revision tag
https://gerrit.wikimedia.org/r/203970

(Reflecting Gerrit state on Phab per current CPT practices.)

Joe added a subscriber: Joe.Sep 18 2019, 10:34 AM

just to note that when we remove the HHVM tag we might also want to remove the PHP7 one given that latter migration is almost over as well :P

Change 542796 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/core@master] Add a maintenance script to delete a change tag

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

MaxSem added a subscriber: MaxSem.Oct 14 2019, 7:40 AM

I decided to generalize Lego's patch to remove any tag and add it to MW core.

MaxSem renamed this task from Remove HHVM revision tag to Remove HHVM and PHP7 revision tags.Oct 15 2019, 1:34 AM
MaxSem updated the task description. (Show Details)

Change 542796 merged by jenkins-bot:
[mediawiki/core@master] Add a maintenance script to delete a change tag

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

Change 549902 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/WikimediaEvents@master] Deregister php7 and HHVM tags

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

Change 203970 abandoned by Jforrester:
Add maintenance script to remove HHVM revision tag

Reason:
Generalised version landed.

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

Change 549902 merged by jenkins-bot:
[mediawiki/extensions/WikimediaEvents@master] Deregister php7 and HHVM tags

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

Change 549937 had a related patch set uploaded (by Krinkle; owner: Krinkle):
[mediawiki/core@master] changetags: Change new canDeleteTag() boolean param to int flag

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

Update: there's a bug in the script discovered running it on betalabs, DON'T RUN IT IN PRODUCTION YET! Fix here: https://gerrit.wikimedia.org/r/#/c/mediawiki/core/+/550070/

Mentioned in SAL (#wikimedia-cloud) [2019-11-11T18:28:21Z] <MaxSem> Nuked HHVM and php7 tags on all beta wikis T75181

With the fix merged, I've successfully ran the removal in beta. Unless there will be problems discovered with the removals, I'll test the process on testwiki this week and run it on the rest of production next week.

Change 550788 had a related patch set uploaded (by MaxSem; owner: MaxSem):
[mediawiki/extensions/WikimediaEvents@master] Remove messages for HHVM and php7 tags

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

Change 549937 merged by jenkins-bot:
[mediawiki/core@master] changetags: Change new canDeleteTag() boolean param to int flag

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