Page MenuHomePhabricator

Remove php7 beta feature
Closed, ResolvedPublic

Description

At this point, I don't think there is the need to offer php7 as a beta feature anymore. Logged-in users should be extracted to go to either php7 or hhvm as all other users.

In order to achieve this we need to:

  • Make enableLoggedIn true in WikimediaEvents/modules/all/ext.wikimediaEvents.php7.js
  • Disable the beta feature in WikimediaEvents
  • Remove the code for enabling the beta feature (eventually)

Alternatively, we could decide to migrate all logged-in users before all the other users.

Event Timeline

Joe triaged this task as Medium priority.Mar 25 2019, 10:35 AM
Joe created this task.

Alternatively, we could decide to migrate all logged-in users before all the other users.

Do we want to just do this? The only downside I can see is that content exclusively available to HHVM users will be inaccessible to editors, but we're back-porting the known Unicode fun…

Change 508172 had a related patch set uploaded (by Giuseppe Lavagetto; owner: Giuseppe Lavagetto):
[mediawiki/extensions/WikimediaEvents@master] Remove the PHP7 beta feature; open the sampling to logged-in users too.

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

Change 508177 had a related patch set uploaded (by Giuseppe Lavagetto; owner: Giuseppe Lavagetto):
[operations/mediawiki-config@master] Disable the PHP7 beta feature

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

Change 508172 merged by jenkins-bot:
[mediawiki/extensions/WikimediaEvents@master] Remove the PHP7 beta feature; open the sampling to logged-in users too.

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

For simplicity, we should land https://gerrit.wikimedia.org/r/508177 whenever, and then just let the removal of the now-unused code ride next week's train.

Change 508177 merged by Giuseppe Lavagetto:
[operations/mediawiki-config@master] Disable the PHP7 beta feature

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

Mentioned in SAL (#wikimedia-operations) [2019-05-15T07:21:55Z] <oblivian@deploy1001> Synchronized wmf-config/InitialiseSettings.php: Remove the php7 beta feature T219128 (duration: 00m 59s)

Change 510430 had a related patch set uploaded (by Giuseppe Lavagetto; owner: Giuseppe Lavagetto):
[mediawiki/extensions/WikimediaEvents@wmf/1.34.0-wmf.5] Remove the PHP7 beta feature; open the sampling to logged-in users too.

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

Change 510431 had a related patch set uploaded (by Giuseppe Lavagetto; owner: Giuseppe Lavagetto):
[mediawiki/extensions/WikimediaEvents@wmf/1.34.0-wmf.4] Remove the PHP7 beta feature; open the sampling to logged-in users too.

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

A net effect of this patch is now all logged-in users are back to HHVM. I think we need to backport the patch above to the running versions of MediaWiki so that we also sample logged-in users (who constitute a sizeable part of the backend requests anyways).

What was the point remove PHP7 beta feature? Now all logged-in users are forced to use HHVM. There is a huge difference between PHP7 and HHVM.

Please enable it again. This beta feature should be removed only after PHP7 is running by 100% default.

What was the point remove PHP7 beta feature? Now all logged-in users are forced to use HHVM. There is a huge difference between PHP7 and HHVM.

Please enable it again. This beta feature should be removed only after PHP7 is running by 100% default.

Hi! First of all I'm sorry if this is causing any incovenience, and if that's the case, please let me know so that they can be addressed.

Coming to why we disabled the beta feature: it was intended as a way for logged-in users to opt-in to an initial test so that we could find issues that affect editors specifically. By my personal judgement, that task has been achieved.

Why do we need to disable it to continue with the migration? Technically, the problem with keeping the beta feature on is that it would interact with the random extraction we perform to either direct a user to PHP7 or not. We would have to either let most logged-in users (who didn't opt-in to the beta feature) out of the php7 migration up to the very last moment, or to implement a more complex logic in the code.

As soon as the backports are merged (in a few hours), logged-in users will be extracted by chance, like everyone else, to either use php7 or not.

Does this make sense?

HHVM feels very slow after using PHP7, so it doesn't make any sense to use HHVM. I'm very sad because I cannot choose PHP7 anymore and I'm forced to use HHVM.

HHVM feels very slow after using PHP7, so it doesn't make any sense to use HHVM. I'm very sad because I cannot choose PHP7 anymore and I'm forced to use HHVM.

Feeling slow, doesn't mean it is.

Can you provide anything more quantifiable?

HHVM feels very slow after using PHP7, so it doesn't make any sense to use HHVM. I'm very sad because I cannot choose PHP7 anymore and I'm forced to use HHVM.

Ok, thanks for the feedback. On one hand, I'm very happy your experience with PHP7 was so good; on the other hand, you will hopefully only have to wait a few weeks for PHP7 to be serving 100% of the traffic.

On the other hand, I'm sorry your experience is worsened temporarily, but from (hopefully) later today, you'll have a 1 in 10 chance to be selected for using PHP7. We have some issues still to iron out before we can push adoption further. You can follow the progress of the migration at T219127

Change 510431 merged by jenkins-bot:
[mediawiki/extensions/WikimediaEvents@wmf/1.34.0-wmf.4] Remove the PHP7 beta feature; open the sampling to logged-in users too.

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

Change 510430 merged by jenkins-bot:
[mediawiki/extensions/WikimediaEvents@wmf/1.34.0-wmf.5] Remove the PHP7 beta feature; open the sampling to logged-in users too.

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

Mentioned in SAL (#wikimedia-operations) [2019-05-15T16:14:56Z] <reedy@deploy1001> Synchronized php-1.34.0-wmf.4/extensions/WikimediaEvents/: T219128 (duration: 01m 06s)

Mentioned in SAL (#wikimedia-operations) [2019-05-15T16:16:14Z] <reedy@deploy1001> Synchronized php-1.34.0-wmf.5/extensions/WikimediaEvents/: T219128 (duration: 01m 13s)